我正在尝试构建一个正则表达式来检测字符串中类似 unix 时间戳的模式。但是,某些字符串包含多个“unix 时间”(如模式),而 go 的正则表达式仅检测此类模式的第一个实例。
我当前的正则表达式:
utcRegex, _ := regexp.Compile(^.*\[(\d{7,})\].*
)
utcCheck := utcRegex.FindStringSubmatch(字符串)
utc := utcCheck[1]
以下是一些示例字符串:
正则表达式可以很好地处理这些类型的字符串
“11 月 6 日 11:21:34 [14039]:[1541532094] [DEBUG] FOO BAR”
正则表达式正确检测到 1541532094
正则表达式不能满足我的要求
“08-13 11:46:56.379 24980 24980 D SDK: [1565711216] [DEBUG] [15657110953902503] [FOO BAR]”
正则表达式只检测到15657110953902503,没有检测到1565711216,我只对1565711216感兴趣,正则表达式只检测到15657110953902503
我是否可以对我的 go 正则表达式进行更新以检测这两者,然后选择该模式的第一个/第二个实例?
最佳答案
关于regex - 如何在go中检测单个字符串中正则表达式的所有匹配项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57561835/