这个表达式的最后一个括号在哪里



我有一个正则表达式,它将单词与我的数组匹配,但没有显示最后一个括号。我的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 = [];

相关内容

最新更新