计算字符串

时间:2016-01-28 08:52:45

标签: regex

如何匹配字符串中的字数>那么5使用正则表达式?

Input1: stack over flow => the regex will not match anything

Input2: stack over flow stack over => the regex will match this string

我尝试用/\/s/来计算空格,但这对我没有帮助,因为我只需要匹配没有单词的字符串> 5

此外,我不想使用split空格。

2 个答案:

答案 0 :(得分:5)

^ *\w+(?: +\w+){4,}$

您可以使用此正则表达式。参见演示。

https://regex101.com/r/cZ0sD2/15

答案 1 :(得分:5)

我会依赖空白/非空白模式并允许尾随/前导空格:

^\s*\S+(?:\s+\S+){4,}\s*$

请参阅demo

说明:

  • ^ - 字符串开头
  • \s* - 可选的任意数量的空白符号
  • \S+ - 一个或多个非空白符号
  • (?:\s+\S+){4,} - 一个或多个空白符号的4个或更多序列,后跟一个或多个非空白符号
  • \s* - 零个或多个(可选)尾随空白符号
  • $ - 字符串结尾