2011-07-15 36 views
0

鑑於這種精確的字符串:需要的正則表達式匹配不包括組詞列表不帶引號的整個單詞

Name = "John" AND Country = "USA" 

我想兩場比賽返回:

Name 
Country 

我想匹配所有不帶引號的整個單詞只要它們不在限定詞彙的短名單中(例如AND,OR

T他將用於.NET環境。

+3

匹配Tomeand如果能夠從字符串'名稱= 「約翰」 和國家= 「USA」'然後匹配'ZipCode'你是一個魔術師:) – mrk

+0

我基本上一直試圖結合\ b \ w + \ b與一個否定形式的^「和」$,並失敗悲慘.. – kman0

回答

1

這將匹配任何由字母數字和_字符組成的字詞,這些字符不會被"終止。不包括(?!)中的|分隔元素。

它應該爲您的目的服務。

(?<!")\b(?!excludethis|andthis|andthisone|andthat|thistoo|AND)\w+\b(?!") 

警告,這將在Country = "Sao Tome and Principee"

+0

我不認爲這將工作,如果有一個空間引用的詞。例如,如果字符串是這樣的:Name =「John」AND Country =「United States」 – kman0

+0

'「United States」'不是引用的單詞,它是一個引用的短語,所以你的問題變得更加困難。我也添加了一個負面lookbehind,但它仍然不會爲''Principe聖多美'' –

+0

謝謝!很棒!看到它的編碼方式,它也是有意義的!再次感謝 - – kman0

相關問題