2014-12-09 44 views
1

我有一个包含数百行类似模式的文件。每行的格式如下:从特定位置提取数据,而不考虑空白

(msg:“DoS”; flow:to_server,established; content:“| FF FF FF FF FF |”; fast_pattern:only; metadata:ruleset community; reference: Bugtraq的,2347;参考:CVE,2001-0144;参考:CVE,2001-0572; CLASSTYPE:shellcode的侦测; SID:1326;启:13;)

我想以提取任何被提及作为内容在每一行。所以从上面的例子我想提取:

FF FF FF FF FF FF

到目前为止,我有这个表达式:

(?:含量):“(\ S + )“

但这只有在匹配文本中没有空白字符时才起作用。任何帮助制作一个通用的正则表达式,它可以提取任何内容而不论空间是什么?

感谢

回答

3
(?<=content:"\|)([^|]+) 

尝试this.See演示。

https://regex101.com/r/iY3eK8/10

+0

如果您使用lookbehind,那么您不需要使用捕获组。 – 2014-12-09 12:07:08

+0

@AvinashRaj是的,我们不用,但OP已经使用它,所以也投入了。 – vks 2014-12-09 12:08:15

+0

它的工作原理。但是,如果我也想提取领先和前面的“|”以及两者之间的数据? – user2061944 2014-12-09 12:09:14

相关问题