2011-07-27 76 views
0

看似簡單的任務。如果找不到匹配,我需要顯示一行。或者,換句話說,如果找到匹配項,我不需要顯示一行。我懷疑這涉及到展望某種類型的斷言,但無法弄清楚。正則表達式顯示結果如果表達式不匹配

我試着找到一個匹配,然後試圖否定它與^。但這似乎並不奏效。還試圖找到匹配並將{0}放在它旁邊:(wordhere){0}

+1

如果找到匹配項,則不顯示一行 –

+0

您使用哪種語言?難道你不能只用你的語言邏輯否定運算符(可能'!')來顛倒比賽結果,然後輸出你的線? – Paulpro

+0

正則表達式不是很好,只是顯示不匹配的行。事實上,我甚至不確定是否有一種很好的方法來查明你甚至在線上的號碼。您可能必須將文件拆分爲數組,然後在每行上運行正則表達式,如果匹配,則跳過它。如果不匹配,請將行號添加到另一個陣列。然後你將有兩個數組,一個數據和一個行號不匹配的數組。 – Brain2000

回答

2

您確實可以使用負向預覽。例如。

^(?!something$).*$ 

將匹配除「某物」之外的任何東西。

請注意,如果您進行正匹配並使用像if not ...這樣的控制結構來定義打印哪條線和哪條線不打印,它可能會更合適更好閱讀。

0

如果你可以使用grep,

grep -v <expr> 

你想要做什麼。