热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

使用$0来引用Javascript的String.replace中的整个匹配

我在一组文本中突出显示搜索字符串的实例.我想在替换查询的不区分大小写的匹配时保留原始文本的大小写.这是我开始的:text.replace(newRegExp('(

我在一组文本中突出显示搜索字符串的实例.我想在替换查询的不区分大小写的匹配时保留原始文本的大小写.这是我开始的:

text.replace(new RegExp('(' + query + ')', 'ig'), '$1');

在这种情况下,我需要转义查询以防止括号打破子匹配,所以我想我会尝试:

text.replace(new RegExp(query, 'ig'), '$0');

但似乎没有使用$0 – 所有匹配的字符串都被$0替换.然而,我找到了另一种选择:

text.replace(new RegExp(query, 'ig'), function(match) { return '' + match + ''; });

不过,我不是很喜欢它的外观.你会怎么建议做这种类型的字符串替换?

解决方法:

使用$&而不是$0来引用整场比赛.我责备Perl.


推荐阅读
author-avatar
西北孤狼2502911947
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有