我有一个正则表达式,它将单词与我的数组匹配,但没有显示最后一个括号。我的JS代码
function decodeEntities(s){
var str, temp= document.createElement('p');
temp.innerHTML= s;
str= temp.textContent || temp.innerText;
temp=null;
return str;
}
var code = ["<span>","<div>","<pre>","<spat>"];
var string = code.join(", ");
var string_to_pass="<span";
var re = new RegExp("(?:^|\W)" + decodeEntities(string_to_pass) + "(\w+)(?!\w)", "g"), match, matches = [];
while (match = re.exec(string)) {
matches.push(match[0]);
}
console.log(matches);
我在控制台中看到了一个数组,其中有两个匹配项,但没有最后一个括号。
Array [ "<span", " <spat" ]
如何阻止此脚本删除最后一个括号>
。请提前感谢
将正则表达式更改为,
var re = new RegExp("(?:^|\W)" + decodeEntities(string_to_pass) + "(\w+\W)", "g"), match, matches = [];