例如,假设我有以下文本:
"Constants cons are CONTAGIOUS"
无论大小写,我都希望替换所有“缺点”,但在替换时保留大小写。
例如,假设我想在它们周围放置粗体标签,我希望输出为:
"<b>Con</b>stants <b>cons</b> are <b>CON</b>TAGIOUS"
在 JavaScript 中,我尝试过:
var re = new RegExp("con", 'ig');
var newText = text.replace(re,"<b>" + "con" + "</b>");
这会进行不区分大小写的搜索,但我在替换时丢失了大小写。有没有办法在替换时保留大小写?
正如@JordanRunning在评论中指出的那样,一个简单的解决方案是使用以下方法引用替换字符串中的匹配字符串$&
:
"Constants cons are CONTAGIOUS".replace(/con/ig, "<b>$&</b>")
产生:
"<b>Con</b>stants <b>con</b>s are <b>CON</b>TAGIOUS"
另一种选择(我最初的建议)它使用捕获组(con)
,并在替换字符串中引用它$1
:
"Constants cons are CONTAGIOUS".replace(/(con)/ig, "<b>$1</b>")
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句