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

标签 regex

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

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

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

最佳答案

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

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

除非您想要捕获单词,否则请从中删除量词,因为您不关心单词有多长,只关心它们是否存在:\w\s+\w

关于由空格分隔的多个单词的正则表达式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31028661/

相关文章:

java - Java 中匹配某个单词零次或一次出现的正则表达式

java - 我怎样才能让这个正则表达式更短?

javascript - 正则表达式 如何查找 match() 之前的特定字符?

javascript正则表达式从包含脚本标签的字符串中获取url

regex - 如何在 Jenssegers raw() 函数中正确应用正则表达式

javascript - Javascript正则表达式将新行添加到匹配项中

javascript - 解析具有重复键的嵌套 JSON 对象(PHP 或 JS)

regex - 正则表达式以匹配2位数字(以验证信用卡/借记卡发行号)

javascript - 根据多个分隔符拆分字符串

正则表达式向后查找字符串和另一个字符串第一次出现之间的所有文本