javascript - 使用区分大小写的替换搜索不区分大小写

标签 javascript regex

我有一个简单的正则表达式搜索和替换功能,想知道是否有一种好方法可以在不区分大小写的搜索中进行区分大小写的替换?示例如下:

function filter(searchTerm) {
    var searchPattern = new RegExp(searchTerm, 'ig');
    ....
    textToCheck = textToCheck.replace(searchPattern, '<span class="searchMatchTitle">' + searchTerm + '</span>');

函数顶部的搜索词可以有一个大写字母,我想让它匹配任何带有 upper 或 lower 的字符串,因此有 'i' 标志。

我在进行替换时得到了奇怪的结果,因为它采用原始搜索字符串(可以是任何组合)并在可能存在不同格式的情况下使用该替换。

我真的很喜欢保留原始格式并在其周围添加范围。我的方法是最好的方法吗?如果是,您能否像在 Perl 中那样使用组?例如

s/ \(=\+\) /\1/g

我尝试使用类似类型的语法和来自网络的示例只会导致文字字符串替换

最佳答案

function filter(searchTerm) {
    var searchPattern = new RegExp('('+searchTerm+')', 'ig');
    ....
    textToCheck = textToCheck.replace(searchPattern, '<span class="searchMatchTitle">$1</span>');
    ...
}

关于javascript - 使用区分大小写的替换搜索不区分大小写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12839707/

相关文章:

javascript - 如何在我的侧边栏悬停时制作动态下拉菜单?

json - 提取 JSON 数组的正则表达式

sql - mysql - 加速正则表达式

regex - 如何使用 SED 替换子字符串中的特定字符

javascript - 正则表达式拆分可选组

javascript - JavaScript 输入和输出之间的一(按键)事件延迟

javascript - 如何在 AngularJS 中循环数组时隐藏空值字段

javascript - jQuery 选择 : select 1 option and deselect the same option in another select menu

c# - 匹配包含 {word} 但不包含 {2ndword} 的文本

javascript - 在 CSS 和 Javascript 中创建标签系统