正则表达式 splunk 查询

Regular expression splunk query

我有一行包含

[India,sn_GB] Welcome : { Name:{Customer1},Place:{Mumbai},}

我想在splunk中打印sn_GB]之后的整行,也就是

Welcome : { Name:{Customer1},Place:{Mumbai},}

我使用了下面的正则表达式:

(?<=sn_).*?$

但它会像 GB] Welcome : { Name:{Customer1},Place:{Mumbai},} 一样打印 GB]。 在单词sn_GB中,sn_是不变的,其余两个字母会变化,如GBLBKBTB等.

请帮我更正正则表达式。

谢谢

我明白你的问题了。 国家代码总是 2 个字母。 我会用

(?<=sn_..\]\ ).*$

但你可以使用 (?<=sn_[A-Z]{0,5}\]\ \s*).*?$

(?<=sn_....).*$

是最简单的,因为它只会在后面抓取 4 个字符,如果国家代码总是 2 个字母,然后是右括号和 space

如果 sn_GB 不变,这将给出正确的结果。

(?<=sn_GB).*?$

如果 GB 不是常数,您可以选择:

(?<=sn_...).*?$