2014-10-16 71 views
0

如何正則表達式有數字或文字內的任何非字符匹配的話,當數字和非字符(\/°†@*()'\s+&;±|-\^)是在單詞的末尾排除?我需要匹配dAS2a而不是dASI6。無法修改Regex to match string not ending with pattern解決方案。正則表達式匹配 W字裏,不與結束W¯¯

dA/Sa dAS2a dASI/ dASI6

http://regex101.com/r/qM4dV7/1失敗。

+0

是否有* *開始與一個特定的字符?你是一次一個地測試每個「單詞」還是試圖在一個長串中找到有效的單詞?什麼是「非字符」(假設你的意思是非字母)? – Sam 2014-10-16 19:09:23

+0

它應該在末尾加上_ignore_數字或特殊字符。在中間或開始 - 並不重要。我試圖在長字符串中找到有效的單詞。 「非字符」=非字母。 – gasyoun 2014-10-16 19:11:14

+0

最後一個問題:如果你是在一個很長的字符串和有效的字可以有非字母數字字符(又名:任何東西),是什麼讓一個單詞的開始/結束?換句話說,什麼劃定了兩個詞?這是一個空間嗎? – Sam 2014-10-16 19:13:46

回答

1

這應該只是罰款(如果你使用gmi改性劑):

^.*[a-z]$ 

Demo


你說的每個字是一個新行。使用m修飾符,我們可以將每個表達式錨定到具有^$錨點(沒有修飾符,這意味着字符串的開始/結束)的行的開始/結尾。然後你說了一句話基本上可以是任何東西(.*),只要它在非數字或非特殊字符結束(我把那意味着一個「信」,[a-z]i修改)。

+0

我給你我的謝意。它能找到只有'dAS2a'而不是'dA/Sa'嗎? – gasyoun 2014-10-16 19:24:47

+0

可以(http://www.regular-expressions.info/charclass.html)你想要什麼字符,可以讓一個[字符類]替換'*'。例如,'^ [a-z0-9] * [a-z] $'只會匹配以字母結尾的字母數字「單詞」。 – Sam 2014-10-16 19:30:06

+0

我需要找到並剔除「錯誤」的話,但'^ [A-Z0-9] * [AZ] $''接受作爲dAS2a'一個好詞,它不是,它應該找到它或忽略,更好地定位。 – gasyoun 2014-10-16 19:33:55