2013-07-30 217 views
4

我無法解決此問題: 我有一些條目(如「user = ABname」)的文本文件。 我想搜索所有包含不以「AB」或「ab」開頭的用戶標識的行,並且需要使用Notepad ++的搜索功能以常規exp進行搜索。 我嘗試過使用正則表達式 - 記事本++ - 搜索包含字符串且不包含其他字符串的字符串

user = ^[ab] 

但實際上並未按預期工作。

我應該找到所有這些:

user = CDname1 
user = cdname2 
user = acname3 
user = xbname4 

但不

user = abname1 
user = ABname2 

回答

6

嘗試使用負前瞻:

user = (?![aA][bB]).* 

你是誤會了如何一個字符類的作品。角色分類 - [ab]只匹配[]中的所有內容中的一個字符。因此,它將匹配ab。我不會按順序匹配ab。基本上
[ab]a|b相同。

5

您需要使用負先行,如:

^user = (?![Aa][Bb]) 
0

嘗試:^user = ([aA][^bB].*|[^a].*)

它尋找user =然後:a其次是任何非b或「任何不開始與a

0

您可以使用此:

user = (?:[^a]|a(?!b))\S+ 

(不檢查大小寫不敏感的框,但檢查正則表達框:)

相關問題