正则表达式 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_
是不变的,其余两个字母会变化,如GB
、LB
、KB
、TB
等.
请帮我更正正则表达式。
谢谢
我明白你的问题了。
国家代码总是 2 个字母。
我会用
(?<=sn_..\]\ ).*$
但你可以使用
(?<=sn_[A-Z]{0,5}\]\ \s*).*?$
(?<=sn_....).*$
是最简单的,因为它只会在后面抓取 4 个字符,如果国家代码总是 2 个字母,然后是右括号和 space
如果 sn_GB 不变,这将给出正确的结果。
(?<=sn_GB).*?$
如果 GB 不是常数,您可以选择:
(?<=sn_...).*?$
我有一行包含
[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_
是不变的,其余两个字母会变化,如GB
、LB
、KB
、TB
等.
请帮我更正正则表达式。
谢谢
我明白你的问题了。 国家代码总是 2 个字母。 我会用
(?<=sn_..\]\ ).*$
但你可以使用
(?<=sn_[A-Z]{0,5}\]\ \s*).*?$
(?<=sn_....).*$
是最简单的,因为它只会在后面抓取 4 个字符,如果国家代码总是 2 个字母,然后是右括号和 space
如果 sn_GB 不变,这将给出正确的结果。
(?<=sn_GB).*?$
如果 GB 不是常数,您可以选择:
(?<=sn_...).*?$