为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

Go
猛跑小猪 2022-05-18 16:41:20
我是 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)
查看完整描述

1 回答

?
慕桂英3389331

TA贡献2036条经验 获得超8个赞

您可以使用

java\.lang\.([^\s:]+)

细节

  • java\.lang\.- 一个java.lang.子串

  • ([^\s:]+)- 捕获组 1:除空格和 . 之外的一个或多个字符:

注意:如果您需要在空格之间获取所有文本java.lang.:后跟空格,请使用java\.lang\.(.*?):\s.

请参阅正则表达式演示Go 演示

package main


import (

    "fmt"

    "regexp"

)


func main() {

    regex := regexp.MustCompile(`java\.lang\.([^\s:]+)`)

    result := regex.FindStringSubmatch("java.lang.OutOfMemoryError: Java heap space Error sending periodic event")

    fmt.Printf("%q", result[1])

}


查看完整回答
反对 回复 2022-05-18
  • 1 回答
  • 0 关注
  • 102 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信