代码之家  ›  专栏  ›  技术社区  ›  Haswell

如何使用正则表达式提取字符串的一部分

  •  0
  • Haswell  · 技术社区  · 4 年前

    我试图提取字符串的一部分作为日期时间戳。

    示例字符串:

    Upgrade starting on Mon Aug 9 06:46:00 UTC 2021 with ...
    

    提取的值应为:

    Mon Aug 9 06:46:00 UTC 2021
    

    我尝试应用以下正则表达式来提取时间戳:

    (\d{2}:\d{2}:\d{2})
    

    如何提取日期、月份和年份。

    0 回复  |  直到 4 年前
        1
  •  1
  •   Jerry An    4 年前

    使用正则表达式从原始字符串中提取部分字符串,以下是完整代码

    package main
    
    import (
        "fmt"
        "regexp"
    )
    
    func main() {
    
        // extract part of string using regex
        str := "Upgrade starting on Mon Aug 9 06:46:00 UTC 2021 with ..."
    
        // extract string "Mon Aug 9 06:46:00 UTC 2021" using regex
        re := regexp.MustCompile(`(Mon|Tue|Wed|Thu|Fri|Sat|Sun) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \d{1,2} \d{2}:\d{2}:\d{2} (\S{3}) \d{4}`)
        t := re.FindString(str)
        fmt.Println(t)
    
    }