除正则表达式下面的\ d外,我怎么能?
^[\d\w ]+$
它匹配带有任何单词和数字以及空格字符的字符串。我想将其更改为接受带有任何单词和空格的字符串。
我尝试使用正则表达式,但它也排除数字和空格。
^[^\d\w ]+$
答案 0 :(得分:1)
您可以使用
^(?:[^\W\d]| )+$
请参见regex demo。也可以写为^(?:(?!\d)[\w ])+$
。
详细信息
^
-字符串的开头(?:[^\W\d]| )+
-1个或更多
[^\W\d]
-除非单词和数字字符外的其他字符|
-或
-空格$
-字符串的结尾。在^(?:(?!\d)[\w ])+$
中,可能与任何单词和空格字符匹配的[\w ]
受(?!\d)
限制,因此不匹配数字。
或者,如果您只需要ASCII字:
^[a-zA-Z_ ]+$
请记住,由于\w
匹配_
个字符,因此它也将允许使用下划线。如果不需要,请使用^(?:[^\W\d_]| )+$
/ ^(?:(?![\d_])[\w ])+$
/ ^[a-zA-Z ]+$
。