【发布时间】:2018-10-23 12:49:54
【问题描述】:
我正在尝试捕获与字符串 txt 中的关键字相关的计数。所有关键字都提前加载到数组中。
此代码在 jquery/javascript 中。我不能对字符串关键字进行硬编码,这就是它们存储在数组中的原因。请帮助我在循环中的关键字变量之前和/或之后找到代替“Reg Expression”的内容。
html br 可用于在循环的该迭代中结束该正则表达式匹配。
试图以 keywordCount = "2, 5, 11" 结尾
//String I need to search through
var txt = "Edit Req'd2<br>Errors5<br>Pndg App11<br>";
//array of keywords I can use to find associated counts to keywords
var keyword = ["Edit Req'd", "Errors", "Pndg App"];
//empty string declared before loop
var keywordCount = '';
for (i = 0; i < keyword.length; i++) {
// takes the comma off end of first entry in array
// might not be needed or another method might be better?
keyword[i] = $.trim(keyword[i]);
//regex expression generated using keyword and unknown expression
var regexmatch = RegExp("Reg Expression" + keyword + "Reg Expression")
//use regex expression to generate string containing counts
keywordCount += (txt.match(regexmatch)) + ",";
}
【问题讨论】:
-
尝试:var regexmatch = RegExp(keyword[i] + "(\d+)"),然后抓住第 1 组。
标签: javascript jquery regex