正则表达式匹配由不匹配字符分隔的字符数

jom*_*omo 8 javascript ruby regex

我想计算字符数,但它们可能被不匹配的字符分开.

这是一个例子.我想匹配一个包含10个或更多单词字符的文本.它可能包括空格,但我不想计算空格.

如果匹配:"富酒吧巴兹"(应该算9)
如果匹配:"一个一"(应该算2)
应符合:"富巴兹酒吧"(应该算10,匹配整个字符串)

这就是我提出的,但它重要的是:

((?<=\s)*\w(?=\s)*){10}
Run Code Online (Sandbox Code Playgroud)

编辑我不想包含空格来计算.对不起,我编辑了几次,我没有正确描述.

有什么想法吗?

Jut*_*uto 11

嘿,我认为这将是一个简单但有效的方法:

( *?[0-9a-zA-Z] *?){10,}
Run Code Online (Sandbox Code Playgroud)

打破正则表达式:

  1. ( *? --------It can start with space(s)
  2. [0-9a-zA-Z] -Followed with the alphanumeric values
  3. *?) ---------It can end with space(s)
  4. {10,} -------Matches this pattern 10 or more times

密钥:当我查看正则表达式的计数时,它适用于该组,即括号中的内容" ()",这种情况下,多个空格后跟空格的数字后跟空格仍然计为一个匹配.希望能帮助到你.:)


Boh*_*ian 6

使用每个单词字符占用空格的组,并计算组数:

^(\s*\w){10,}\s*$
Run Code Online (Sandbox Code Playgroud)