javascript - 带标签的不区分大小写的换行子字符串

标签 javascript regex

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/

相关文章:

Javascript 正则表达式匹配由空格分隔但不包含点的字符串

java - 如何在 Java 中搜索键/值对的字符串

javascript - 如何在 JavaScript 中获取和设置 Cosmos Db 延续 token

javascript - 无法使用 fetch API 获取数据

javascript - 用户定义函数中的 math.max 和 math.min

xml - 使用 sed 在 xml 中复制一行并保持相同的缩进

PHP:使用正则表达式在语句中查找语句

javascript - 下拉菜单问题

javascript - 在 Wenhixin bootstrap-table 中包含图像

php - 如何在 PHP 中更快地过滤我的电子邮件?