我想查找一些沒有被任何數字或字母數字包圍或沒有包圍的單詞。 所以,如果我在尋找Foo123我想這個結果不包含數字或字母數字的圖案
="Foo123"; =>TRUE
barFoo123; =>FALSE
Foo123 =>TRUE
BarBar123Foo123Bar; =>FALSE
;Foo123 =>TRUE
我剛剛建立了這個表達式:
(^[^0-9a-zA-Z]?)WORDTOFIND([^0-9a-zA-Z]?$)
我敢肯定,我在正確的道路,但是,當我像這樣使用它:
if (Regex.IsMatch(line, string.Format(@"(^[^0-9a-zA-Z]?){0}([^0-9a-zA-Z]?$)",snCode)))
{
}
它不起作用。我究竟做錯了什麼?
權,重要的區別是,你說'Foo123'不能由字母數字字符開頭,而不是說必須先由字符串的開始處的可選非字母數字字符組成。你清楚地表達意圖,並且通常會得到很好的結果。 – hvd
這不起作用,但你以前的做法是:(?<=^| [^ a-zA-Z0-9])Foo123(?= $ | [^ a-zA-Z0-9])有人能告訴我什麼是<=? – bAN
不,它的工作原理。 @Joey忘了刪除其中的一個:'(?![^ a-zA-Z0-9])'應該是'(?![a-zA-Z0-9])'。 –