如何使用正则表达式匹配字符串中的单词数> 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空格.
我将依靠空白/非空白模式,并允许尾随/前导空白:
^\s*\S+(?:\s+\S+){4,}\s*$
Run Code Online (Sandbox Code Playgroud)
观看演示
说明:
^ -字符串开始\s* -可选任意数量的空格符号\S+ -一个或多个非空白符号(?:\s+\S+){4,} -一个或多个空白符号的4个或更多序列,后跟一个或多个非空白符号\s* -零个或多个(可选)尾随空格符号$ -字符串结尾^ *\w+(?: +\w+){4,}$
Run Code Online (Sandbox Code Playgroud)
你可以使用这个regex.See演示.
https://regex101.com/r/cZ0sD2/15