我可以使用什么正则表达式来匹配每个单词之间的字母,数字和一个空格?

时间:2009-10-27 12:55:05

标签: regex

如何创建仅匹配字母和数字的正则表达式,以及每个单词之间的一个空格?

好示例:

Amazing

Hello World

I am 500 years old

错误示例:

Hello  world

I am 500 years      old.

I    am   Chuck Norris

6 个答案:

答案 0 :(得分:23)

大多数正则表达式实现都支持命名字符类:

^[[:alnum:]]+( [[:alnum:]]+)*$

你可能很聪明,虽然不那么清楚并简化为:

^([[:alnum:]]+ ?)*$

仅供参考,第二个允许字符串末尾的虚假空格字符。如果你不想坚持使用第一个正则表达式。

正如其他海报所说,如果[[:alnum:]]不适合你,那么你可以改用[A-Za-z0-9]

答案 1 :(得分:7)

([a-zA-Z0-9]+ ?)+?

答案 2 :(得分:6)

^([a-zA-Z0-9]+\s?)*$

其作品

答案 3 :(得分:2)

^[a-zA-Z]+([\s][a-zA-Z]+)*$

答案 4 :(得分:1)

(?:[a-zA-Z0-9]+[ ])+[a-zA-Z0-9]+

如果我理解正确,上述正则表达式应该有效。 见下面的截图:

screenshot http://img136.imageshack.us/img136/6871/screenshotkiki056.png

答案 5 :(得分:-1)

这会匹配一个单词

'[a-zA-Z0-9]+\ ?'