var searchText = "hello world";
var searchTextRegExp = new RegExp(searchText , "i"); // case insensitive regexp
var text = "blahblah Hello Worldz";
text.replace(searchTextRegExp , '<match>' + searchText + '</match>');
我正在尝试改进这段代码。目前,它小写了 Hello World,因为它使用 searchText 作为替换值。
我希望只用标签包裹 Hello World,而不修改其大小写,同时仍然保持不区分大小写的搜索。
执行此操作的好方法是什么?我认为 string.indexOf 是区分大小写的——我认为这让事情变得有点复杂?
最佳答案
在替换文本中,您可以使用 $&
来引用正则表达式匹配的任何内容。
text = text.replace(searchTextRegExp , '<match>$&</match>');
您还可以使用 $1
、$2
等来引用正则表达式中捕获组的匹配项。
关于javascript - 带标签的不区分大小写的换行子字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18425293/