2012-06-18 72 views
1

望awk或者sed大師可以幫助我。我需要匹配一個多行模式,其中模式範圍可以跨越一行到三行。我無法使用pcregrep得到結果!我想實現的模式去有點像這樣=>提取多行模式SED或AWK

\s*\w+\s\w+\([A-Za-z,]*\)\s*\;\{ 

事情是這樣的詞語或分號後,可以或不可以在下一行出現的格局下一部分,並在可能發生模式也有一行,這取決於文件。

在此先感謝您的答覆。我一直堅持這一步近一週!任何種類的建議讚賞:)

例如:蘋果橙(李子);獼猴桃{

蘋果橙(李子);

獼猴桃

{

表達式同時匹配表達式。

+0

什麼是你想匹配? –

+0

語法:[字aphanumeric(有什麼);字母數字{] 圖案犯規發生necceserily在同一行但尊重指定語法序列。 謝謝大衛給你回覆。 – Gil

+0

這將是真正有用的,如果你可以發佈你對什麼樣的匹配的樣本,希望能與您提取出來的/匹配出來的東西。例如:'蘋果,我想匹配所有的p''。 –

回答

2

\s*(\w+)\s+(\w+?)\((\w+)\);\s*(\w+)\s*{

此致相當接近。確保在使用正則表達式時設置MULTILINE標誌以確保其匹配多行。這將匹配字符串中的所有四個單詞。按您的例子,

組1:apple

組2:orange

組3:plum

組4:kiwi

You can play with the regex here

+1

作品喜歡一個魅力感謝很多 我真的很感激它,男人:) – Gil