2012-05-28 30 views
2

我正在使用Notepad ++ 並嘗試在本地處理一個日誌文件,並嘗試使用正則表達式函數從文件中提取任何數據,其中包含: -1或? 我不是偉大的使用reg表達式,但想出這樣的事情會做的伎倆,但無濟於事:正則表達式來查找和提取符合過濾標準的行

^.*\b(-1|?)\b.*$ 
+0

您使用的是哪種版本的Notepad ++。它的版本低於10.1.1,看到我的回答如下 –

+0

最新我在他們的網站上看到的是6.1.2 – Will

+0

對不起,我的錯。我的意思是6.1.1。你使用哪個版本? –

回答

1

試試這個正則表達式:

(.*-1.*|.*\?.*) 
1

首先,如果你想找到?,你應該逃避它\? 其次,我不知道關於記事本++,但通常-不被視爲一個單詞符號,因此第一個\b將不會作爲「開始的單詞」,應該被刪除,?也不是起始和結束的單詞,因此它既\b沒用。

2

你需要逃避?使用a的字符。我會爲你分解它,所以它可以幫助你學習正則表達式。

^(.*(?:-1|\?).*)$ 
  • (?:-1|\?) - 符合非捕獲組?或-1
  • (.*(?:-1|\?).*) - 包裝在捕獲組中,匹配任何東西然後?或-1然後是任何東西

使用行邊界這將導致捕獲的行包含-1或?