2014-12-09 67 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