如果您使用正则表达式/(this|a)/
现在,如果我有:
var text = "this is a sentence.";
text = text.replace(/(this|a)/gi, "_");
document.write(text);
我得到了输出:_ is _ sentence
我正在开发一个可以选择样式的Javascript,所以我要做的就是添加'<span class="className">" + word_in_regex + "</span>"
,其中word_in_regex
是已经匹配的表达式中的单词。这是可能的还是没有?
答案 0 :(得分:3)
您可以在替换字符串中使用$1
来引用第一组的匹配项:
"this is a sentence".replace(/(this|a)/g, "_$1_") // returns "_this_ is _a_ sentence"
请注意全局替换 g 标志;否则只会替换第一场比赛。有关详细信息,请参阅RegExp和String.prototype.replace
。