2009-04-24 203 views

回答

4

试试这个

"^.*[a-zA-Z].*$" 

这与大多数正则表达式引擎的工作。但它仅限于ASCII字母字符。对于国际角色,我们需要知道涉及的正则表达式引擎。

+0

对不起,这是一个100%正确的答案。需要对投票进行解释。 – JaredPar 2009-04-24 20:16:57

+2

我实际上不能解释它,因为它不是我的,但是相对而言,你在那里有一个非常低效的正则表达式。大多数正则表达式引擎提供了一种方法来查找字符串中任何位置的匹配,在这种情况下,thinkcube的答案是更好的选择。锚定到字符串开始处的方法仍然不需要明确的指示,并且尾随的锚不应该是必需的,只需使用`。* [a-zA-Z]`。 – 2009-04-24 20:27:05

3

这:

[a-zA-Z] 
1

字母字符POSIX标准匹配是:

[[:alpha:]] 

.net当量是

[\p{L}] 

其中这是对Unicode的一个MS的快捷方式5种不同的“字母”字符类,它们也受到Java支持:

[\p{Lu}\p{Ll}\p{Lt}\p{Lm}\p{Lo}] 

注意,这也应该匹配任何字符是字母,不只是一般的罗马字母的“[a-zA-Z]”集,因此也匹配重音字符等

0

[a-zA-Z]甚至[a-z]如果您将不区分大小写的选项传递给您的正则表达式引擎。

3

不要忘记,'字母字符'的定义在全世界都不一样。例如,在挪威,正确的正则表达式是[a-zA-ZæøåÆØÅ]

相关问题