在网站上匹配单词x次的正则表达式

时间:2014-08-12 15:27:41

标签: javascript regex

我有一个网站页面,我们使用它来测试我们的应用程序中的特定功能。它在网站的每个订单项上返回“成功”,例如:

Server1Name
Connection: Success
Process 1: Success
Process 2: Success 

Server2Name
Connection: Success
Process 1: Success
Process 2: Success

Server3Name
Connection: Success
Process 1: Success
Process 2: Success

我想做的是在页面上找到成功一词,共9次。到目前为止我(在JavaScript中)发现的是:

((.|\n)*)(Success)

在整个页面中匹配单词Success,包括换行符等,但是当我添加:

{9}

到最后,看起来像:

((.|\n)*)(Success){9}

它停止工作。有什么想法吗?有更好的方法吗?

3 个答案:

答案 0 :(得分:1)

你需要在()

中包装整个比赛
((.|\n)*)(Success)){9}

答案 1 :(得分:1)

最快的方法可能是计算总出现次数,如果数字大于8则检查:

var numb = str.match(/\bSuccess\b/g).length;
if (numb>8) {
...
} else {
...
}

答案 2 :(得分:0)

计算字符串匹配

这是对您的问题的间接答案。你没有在原始问题中指定一种语言,所以我不打算猜测你为什么要做你正在做的事情,而是建议你做一些事情 simple < / em>而不是。

假设您的页面是一个文件,或者可以通过管道传递给另一个命令的标准输入,您可以考虑使用GNU grep计算固定字符串,然后用您选择的编程语言计算结果。例如,使用Bash shell:

success_count=$(grep --fixed-strings --count /path/to/file)
if (( success_count == 9 )); then
    true
else
    false
fi