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