如何在正则表达式中将不区分大小写的搜索与区分大小写的替换结合起来?

玛丽

例如,假设我有以下文本:

"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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

JavaScript中不区分大小写的正则表达式

不区分大小写的正则表达式,无需重新编译?

Java正则表达式不区分大小写不起作用

如何在Go中执行不区分大小写的正则表达式?

正则表达式可在文本中查找整个单词,但不区分大小写

PostgreSQL查询中的正则表达式不区分大小写

Ruby中不区分大小写的正则表达式匹配

Postgres和JOOQ不区分大小写的正则表达式?

mongodb如何进行不区分大小写的正则表达式搜索?

如何查找(离线)Perl文档-“不区分大小写”或使用正则表达式

如何使正则表达式不区分大小写?

正则表达式:不区分大小写的搜索性能,/ i与枚举

不区分大小写的正则表达式-VBA

如何用发现的不区分大小写的正则表达式替换匹配项,但扩展结果

Pymongo不区分大小写的正则表达式查询列表

如何在Nutch 1.7的regex-urlfilter中设置不区分大小写的正则表达式

Apps脚本正则表达式-不区分大小写

如何在Nginx服务器上区分大小写的正则表达式?

正则表达式区分大小写关闭

如何在Eve Rest框架中创建不区分大小写的正则表达式

用区分大小写的字符串替换正则表达式

Perl重命名:不区分大小写的匹配的正则表达式

强制正则表达式区分大小写?

正则表达式中不区分大小写的搜索

如何创建不区分大小写的正则表达式?(javascript)

是的,使用正则表达式和不区分大小写的验证

如何在正则表达式中定义“不区分大小写”修饰符 i?

如何使正则表达式区分大小写

替换后保持大写的不区分大小写的正则表达式?