Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/go/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 如何检测go中单个字符串中正则表达式的所有匹配项_Regex_Go - Fatal编程技术网

Regex 如何检测go中单个字符串中正则表达式的所有匹配项

Regex 如何检测go中单个字符串中正则表达式的所有匹配项,regex,go,Regex,Go,我试图构建一个正则表达式来检测字符串中类似unix时间戳的模式。但是,有些字符串包含多个类unix时间的模式,go的正则表达式只检测此类模式的第一个实例 我现在的正则表达式: utcRegex,:=regexp.Compile^.*\[\d{7,}\]* utcCheck:=utcRegex.FindStringSubmatchstring utc:=utcCheck[1] 以下是一些示例字符串: 正则表达式可以很好地处理这些类型的字符串 11月6日11:21:34[14039]:[154153

我试图构建一个正则表达式来检测字符串中类似unix时间戳的模式。但是,有些字符串包含多个类unix时间的模式,go的正则表达式只检测此类模式的第一个实例

我现在的正则表达式:

utcRegex,:=regexp.Compile^.*\[\d{7,}\]*

utcCheck:=utcRegex.FindStringSubmatchstring

utc:=utcCheck[1]

以下是一些示例字符串:

正则表达式可以很好地处理这些类型的字符串

11月6日11:21:34[14039]:[1541532094][DEBUG]foobar

正则表达式正确地检测1541532094

正则表达式不能满足我的要求

08-13 11:46:56.379 24980 24980 D SDK:[156571216][DEBUG][15657110953902503][FOO-BAR]

正则表达式仅检测15657110953902503,而不检测156571216。我只对156571216感兴趣。正则表达式只能找到15657110953902503


我是否可以对go正则表达式进行更新,以检测这两种模式,然后选择此模式的第一个/第二个实例?

您的正则表达式太僵硬,请尝试:

\[(\d{7,})\]
1美元将包含匹配项


我想这正是我需要的。谢谢正则表达式有时就像象形文字,如果它解决了你的问题,一定要接受答案question@Steve他们所说的^^^