我有一行包含
[India,sn_GB] Welcome : { Name:{Customer1},Place:{Mumbai},}
我要在splunk中sn_GB]
之后打印整行,即
Welcome : { Name:{Customer1},Place:{Mumbai},}
我使用以下正则表达式:
(?<=sn_).*?$
但是它与GB]
一样与GB] Welcome : { Name:{Customer1},Place:{Mumbai},}
一起打印。
在sn_GB
一词中,sn_
是常数,其余两个字母将有所不同,例如GB
,LB
,KB
,TB
请帮助我纠正正则表达式。
谢谢
答案 0 :(得分:0)
我现在了解您的问题。 国家/地区代码始终为2个字母。 我会用
(?<=sn_..\]\ ).*$
但您可以使用
(?<=sn_[A-Z]{0,5}\]\ \s*).*?$
(?<=sn_....).*$
是最简单的,因为它会只捕获4个字符,如果国家/地区代码始终为2个字母,然后是一个右方括号和一个空格
答案 1 :(得分:0)
在sn_GB恒定的情况下,这将给出正确的结果。
(?<=sn_GB).*?$
如果GB不是恒定的,则可以进行以下操作:
(?<=sn_...).*?$