由空格分隔的多个单词的正则表达式?

时间:2015-06-24 13:58:55

标签: regex

我需要一个由空格分隔的2个或更多单词的正则表达式,例如:

Test            //invalid
Test two        //valid
Test two three  //valid
Test-two        //invalid

[\ w \ s] +给了我所有的单词,但不确定如何从验证中排除1个单词。

3 个答案:

答案 0 :(得分:3)

不要在字符类中包含空格:\w+\s+\w+

通过在字符类中保留空格,您已指定需要任意数量的单词字符空格,这将快速吞噬整个字符串。通过分隔单词和空格类,您可以指定“任意数量的单词字符后跟任意数量的空格字符,然后再指定一些单词字符”。

除非你想要捕捉这些词,否则从他们中删除量词,因为你不在乎词的长度,只是它们存在:\w\s+\w

答案 1 :(得分:1)

单词类,空格,单词类......

\w+ \w+

答案 2 :(得分:0)

我知道它的晚期但未来的观点

/(\w+\s+[^-])+\S[^-]+/

此正则表达式将返回有效的输出和无效输入的第一个有效部分。