我想统计字符数,但是可能被不匹配的字符隔开
这是一个例子。 我想匹配包含 10 个或更多单词字符的文本。它可能包含空格,但我不想计算空格数。
不应该匹配:“foo bar baz”(应该计数 9)
应该不匹配:“a a”(应该算作 2)
应匹配:“foo baz bars”(应计数 10,匹配整个字符串)
这是我想出的,但它很重要:
((?<=\s)*\w(?=\s)*){10}
编辑 我不想包含用于计数的空格。对不起,我编辑了几次,我没有正确描述它。
对此有什么想法吗?
最佳答案
嘿,我认为这会是一个简单但有效的方法:
( *?[0-9a-zA-Z] *?){10,}
分解正则表达式:
( *? ------可以以空格开头
[0-9a-zA-Z] - 后跟字母数字值
*?) --------可以以空格结尾
{10,} ------匹配此模式 10 次或更多次
关键:当我查看正则表达式的计数时,它适用于组,即括号“()
”中的内容,在这种情况下,多个空格跟在字母数字值的 ONE 之后后跟空格仍算作一场比赛。希望能帮助到你。 :)
关于javascript - 由不匹配字符分隔的字符的正则表达式匹配计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18144868/