如何创建仅匹配字母和数字的正则表达式,以及每个单词之间的一个空格?
好例子:
Amazing Hello World I am 500 years old
不好的例子:
Hello world I am 500 years old. I am Chuck Norris
Joh*_*ica 23
大多数正则表达式实现都支持命名的字符类:
^[[:alnum:]]+( [[:alnum:]]+)*$
Run Code Online (Sandbox Code Playgroud)
你可能很聪明,虽然不太清楚,并简化为:
^([[:alnum:]]+ ?)*$
Run Code Online (Sandbox Code Playgroud)
仅供参考,第二个允许字符串末尾的虚假空格字符.如果你不想坚持使用第一个正则表达式.
另外,正如其他海报所说,如果[[:alnum:]]
不适合你,那么你可以使用[A-Za-z0-9]
.