1

基本上我正在尝试编写一个将接受两个单词的正则表达式,这些单词可以包含任何字母,但不能包含数字。

我目前有:

^[a-zA-Z+#-.0-9]/s^[a-zA-Z+#-.0-9]$

虽然我确定这是错误的,因为它不允许两个单词用空格分隔,但它目前也允许数字。

有人知道我需要什么正则表达式代码才能使其正常工作吗?

4

3 回答 3

2

虽然使用\w速记字符类的东西可能对您有用,但您专门写了can contain any letters, but not numbers,因此您必须使用:

^[a-zA-Z]+\s+[a-zA-Z]+$

您的表达式允许使用数字(以及+这些字符中的任何一个:),#$%&*()-',.因为您在字符类中包含了所有这些字符[a-zA-Z+#-.0-9],这意味着小写和大写字母、符号、从to 的+任何 ASCII 字符(包括)和任何 numbers 。#.$%&*()-',0-9

速记字符类\w允许字母、数字和下划线 ( _)

我可能会建议您先阅读有关正则表达式的简短教程,然后再为您确定解决方案...

于 2012-08-20T12:56:15.403 回答
2

这应该可以解决问题!:)

//Allow letters and numbers
^\w+\s\w+$ 

//Allow only letters
^[a-zA-Z]+\s+[a-zA-Z]+$
于 2012-08-20T12:31:37.593 回答
1

怎么样:

^\w+\s+\w+$
于 2012-08-20T12:31:46.827 回答