如果我有文字:
test: firstString, blah: anotherString, blah:lastString
如何获取文本“firstString”
我的正则表达式是:
test:(.*),
修改
这会带回firstString, blah: anotherString,
,但我只需要带回'firstString'文本?
答案 0 :(得分:12)
使用非贪婪的量词:
test:(.*?),
或字符类:
test:([^,]*),
也要忽略逗号:
test:([^,]*)
如果您想省略test:
,也可以使用这样的后视:
(?<=test:\s)[^,]*
由于您正在使用此grok debugger,因此我可以使用命名的捕获组来实现此功能:
(?<test>(?<=test:\s)[^,]*)