Case Insensitive javascript取代正则表达式考虑帐户字边界

时间:2011-12-28 04:36:01

标签: javascript

我在javascript中编写替换函数,考虑到字边界

blog = blog.toLowerCase().replace(new RegExp("\\b" + wordList[i].toLowerCase() + "\\b", 'g'), "value to replace");

现在这是一个 CASE SESITIVE 替换我想让它 CASE INSENSITIVE

我怎样才能做到这一点?

虽然Case Insensitive有 \ I ,但我不知道如何在我的代码中使用它

感谢任何帮助。

2 个答案:

答案 0 :(得分:3)

new RegExp() constructori参数中使用g传递flags。像这样:

new RegExp("\\b" + wordList[i].toLowerCase() + "\\b", 'gi')

此时,您应该可以删除所有String.toLowerCase来电:

var re = new RegExp("\\b" + wordList[i] + "\\b", 'gi');
blog = blog.replace(re, 'value to replace');

N.B。您可能需要escape the value of worldList\[i\],以便您的代码不会意外地尝试创建格式错误的正则表达式。

答案 1 :(得分:2)

将您的'g'更改为'gi' - “g”表示“全局”,“i”表示“不区分大小写”:

..., 'gi'), "value...