首页 文章

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

提问于
浏览
24

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

Good Examples:

Amazing

Hello World

I am 500 years old

Bad Examples:

Hello  world

I am 500 years      old.

I    am   Chuck Norris

6 回答

  • 1

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

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

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

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

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

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

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

    其作品

  • 2
    ^[a-zA-Z]+([\s][a-zA-Z]+)*$
    
  • 23
    (?:[a-zA-Z0-9]+[ ])+[a-zA-Z0-9]+
    

    如果我理解正确,上面的正则表达式应该可行 . 见下面的截图:

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

  • -1

    这会匹配一个单词

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

相关问题