2012-04-11 102 views
-1

我需要一個正則表達式來匹配a-zA-Z0-9以及空格和特殊字符,但只包含英語空白/特殊字符,而不包含法語或西班牙語等其他語言的正則表達式。只有英文特殊字符的正則表達式

謝謝。

+5

定義「特殊字符」 – amit 2012-04-11 07:39:56

+2

現在你要求一個匹配'anything'的正則表達式,所以這裏是:'。*',你需要明確指出它是什麼應該也不應該匹配,否則你將得不到幫助答案... – 2012-04-11 07:43:00

+0

你的意思是通過0x72(代字符)匹配char代碼0x20(空格)的東西,但排除非英文字符(例如在0xA0 - 0xFF )的範圍? – 2012-04-11 16:38:58

回答

0

寫一個與英語匹配但不是法語,西班牙語和其他語言的正則表達式是不可行的。

如果你真的想測試一個單詞是否來自英語,你可以編寫一些代碼在英語詞典中查找它。這應該很簡單。

+1

字典解決方案往往會失敗的名稱和地方,特別是當我們談論的是一個單詞而不是一個完整的文檔。 – amit 2012-04-11 07:49:11

+0

@amit,有解決方法,例如忽略以大寫字母開頭的單詞。它永遠不會是完美的,但它足夠接近。 – Matt 2012-04-11 07:54:50

0

根據正則表達式引擎,您可以使用:

^\p{IsBasicLatin}*$ 

要允許Basic Latin character set,其中包括標準的英語lanuage標點符號(僅字符即可以在一個直接輸入的字符美國鍵盤)。

0

我正在尋找一個正則表達式來匹配普通英文文本(並避免可能的HTML/XML/URL等),並降落在此頁面上。我認爲提問者只是想避免字符與其中的語音信息,但允許英文標點符號。我結束了寫我自己的東西在看我的鍵盤

[A-ZA-Z \ d,;:?!\'「$%()] *

我不主張,這將工作對於每個人來說,但對我來說已經足夠了

+0

反正有,所以我只能匹配特殊字符,它不應該包括任何數字和albhabet? – 2013-11-27 05:32:14

相關問題