让我说我喜欢这样的原始数据
ERROR -- : FluentLogger: Can't convert to msgpack: (blah: blah: balh:.... ):
我想抓拍
FluentLogger: Can't convert to msgpack:
目前我有这个
(?>ERROR -- :)(?<msg1>.*):
但问题在于它会捕获
FluentLogger: Can't convert to msgpack: (blah: blah: balh:.... ):
我该怎么写正则表达式?
答案 0 :(得分:1)
使用此正则表达式:/ERROR -- : ([A-Za-z]+:[\s\w']+):/g
答案 1 :(得分:0)
你可以这样做:
请注意,这接近您原来的尝试:
(?>ERROR -- :)(?<msg1>.*):
但并不完全,因为您使用?>
来表示后方,但应该是(?<=
)。
答案 2 :(得分:0)
一个或多个'not:'by':'使用
[^:]+:
在字符串中找到前两个
/[^:]+:[^:]+:/
在ERROR之后捕获前两个 - :在一个字符串
中(?>ERROR -- :)(?[^:]+:[^:]+:)