如何禁用正则表达式中的数字?

时间:2008-11-14 15:37:33

标签: regex

您好我正在写一个正则表达式(我生命中第一次可能会添加)但我无法弄清楚如何做我想要的。到目前为止,非常好,因为我已经只允许字母和空格(只要它不是第一个字符)现在我缺少的是我不想在字符之间允许任何数字......任何人都可以帮助我好吗?

/^[^\s][\sa-zA-Z]+[^\d\W]/

3 个答案:

答案 0 :(得分:5)

好的,你需要的是:

/^[a-zA-Z][\sa-zA-Z]*$/

匹配:

^           - start of line
[a-zA-Z]    - any letter
[\sa-zA-Z]* - zero or more letters or spaces
$           - the end of the line

如果你想确保它也以字母结尾,那就放一个

[a-zA-Z]
$之前

。但请注意,该字符串必须至少包含两个字母(每端一个)才能匹配。

答案 1 :(得分:1)

如果您只想允许字母和空格,那么您所拥有的几乎是正确的:

/^[a-zA-Z][\sa-zA-Z]*$/

最后的$表示字符串的结尾。

编辑正确答案,感谢@Alnitak

答案 2 :(得分:1)

如果您想确保只在单词之间出现空格,请使用:

/^[A-Za-z]+(?:\s+[A-Za-z]+)*$/