正则表达式使用 RE2 在空格之前匹配字符串之后

我是 RE2 语法正则表达式的新手,我想匹配特定字符串之后的第一个单词。

例如:

java.lang.OutOfMemoryError: Java heap space  Error sending periodic eventjava.lang.NullPointerException: Java heap space  Error sending periodic event

我想捕捉之后发生的任何事情,这样java.lang.我就可以得到错误。我知道在 Python 和 PCRE 中,我们可以使用积极的后视来做到这一点,而正则表达式将是 - ,但这不适用于 RE2。OutOfMemoryErrorNullPointerException(?<=java.lang.).*?(?=\s)


猛跑小猪
浏览 104回答 1
1回答

慕桂英3389331

您可以使用java\.lang\.([^\s:]+)细节java\.lang\.- 一个java.lang.子串([^\s:]+)- 捕获组 1:除空格和 . 之外的一个或多个字符:。注意:如果您需要在空格之间获取所有文本java.lang.并:后跟空格,请使用java\.lang\.(.*?):\s.请参阅正则表达式演示和Go 演示:package mainimport (&nbsp; &nbsp; "fmt"&nbsp; &nbsp; "regexp")func main() {&nbsp; &nbsp; regex := regexp.MustCompile(`java\.lang\.([^\s:]+)`)&nbsp; &nbsp; result := regex.FindStringSubmatch("java.lang.OutOfMemoryError: Java heap space Error sending periodic event")&nbsp; &nbsp; fmt.Printf("%q", result[1])}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go