我目前正在用Javascript编写一个标记特定单词的函数。
我有一个名为< code>的Box ...< / code>我将编写JS代码。我懒得为我自己设置语法高亮的所有标签,所以我希望有一个功能为我做这个。
实施例: <物镜>这< / OBJ> .functionName(); < - obj标签将高亮显示"此"以特定的颜色。
但如果"this"
没有被标记,就会发生这样的情况:
<标签>< /标签> this.functionName()
;
我想标记它,但不是已标记的"this"
。
这是我的JS代码:
function hightLight(text, tag, html) {
var taggedText = ("<" + tag + ">" + text + "</" + tag + ">");
var oldHTML = "";
do {
oldHTML = html;
html = html.replace(text, taggedText);
} while(html.localeCompare(oldHTML) != 0);//stop if nothing changed
return html;
}
答案 0 :(得分:2)
使用此正则表达式:
/this(?!<\/tab>)/
它使用negative lookahead,因此只有this
后面的</tab>
才会匹配var regex = new RegExp(text + "(?!</" + tag + ">)");
。您可以像这样使用它:
html = html.replace(regex, taggedText);
和
scripts": {
"dev": "npm run dev | grep -v \"\\[\\d*\\]\""
}