我試圖剔除那些字符串中的所有的東西都沒有,所以我創建的正則表達式正則表達式失敗
private static Regex _NonAlphaChars = new Regex("[^[A-Za-z0-9 ]]", RegexOptions.Compiled);
但是一個字母數字或空間,當我打電話_NonAlphaChars.Replace("Scott,", "");
它返回"Scott,"
我在做什麼錯,它不符合,
?
我試圖剔除那些字符串中的所有的東西都沒有,所以我創建的正則表達式正則表達式失敗
private static Regex _NonAlphaChars = new Regex("[^[A-Za-z0-9 ]]", RegexOptions.Compiled);
但是一個字母數字或空間,當我打電話_NonAlphaChars.Replace("Scott,", "");
它返回"Scott,"
我在做什麼錯,它不符合,
?
你做了一些有趣的雙括號。改變它只是
[^A-Za-z0-9 ]
刪除原始的表達成The Regex Coach解釋您正則表達式爲:
正則表達式是由表達式「的序列[[^ A-ZA-Z0-9] '和字符']'。
對於相反,我寫的替代的解釋是:
正則表達式是表示一切,但從字符「A」的字符「Z」的字符的範圍中的字符類,從字符'a'到字符'z'的字符範圍,從字符'0'到字符'9'的字符範圍以及字符''。
感謝您的鏈接到正則表達式教練!我一直試圖在www.regular-expressions.info上進行研究,找出我的表情。 – 2010-06-11 16:49:45
private static Regex _NonAlphaChars =
new Regex("[^A-Za-z0-9 ]", RegexOptions.Compiled);
試試這個
[^A-Za-z0-9\s]
或
\ W
的問題是,你不能嵌套字符類這樣的。因此,這個正則表達式實際上被解析爲:否定集中的任何字符[[[A-Za-z0-9]](其中第二個[[實際上是類的一部分],後面跟着單個']' – Johrn 2010-06-11 16:51:13