我试图弄清楚如何对忽略大小写的字符串进行RegEx搜索,但是当进行替换时,它应该保留原始大小写。
IE
搜索“ adv”应匹配“ Adv”,但替换项应匹配“ Adv”而不是“ adv”
目的是“突出显示”字符串中的文本。显然,如果有更简单的事情,我会全神贯注。
当前代码...
$("#SearchResults").append(appendString.replace(
new RegExp($("#SearchInput").val(), "g"), "<strong>" +
$("#SearchInput").val() + "</strong>")
);
您需要用括号将值封装起来,这将创建一个组,并且您将能够在替换字符串中获得该组,$n
其中wheren
是该组的编号。索引从1开始。
因此使用:
appendString.replace(new RegExp('(' + $("#SearchInput").val() + ')', "gi"), "<strong>$1</strong>");
请注意,使用这样的regexp是危险的,例如,如果我(hello
在输入中编写内容,则会抛出错误:无效的regexp。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句