2012-04-11 121 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

相关问题