JavaScript 正则表达式不区分大小写

标签 javascript regex

请看这个JsFiddle .

var target = "Thanks For Looking This Problem";
var phrase = ["anks", "for", "king T"];

for(var indx = 0; indx < phrase.length; indx ++)
{
  target = target.replace(new RegExp(phrase[indx], "gi"), "~~~" + phrase[indx]+ "```");
}
​

我得到这个输出:Th~~~anks``` ~~~for``` Loo~~~king T```他的问题

但是我需要这个输出:Th~~~anks``` ~~~For``` Loo~~~king T```他的问题

“对于”而不是“对于”

最佳答案

只是不要replace通过短语,但通过匹配的字符串:

… target.replace(new RegExp(phrase[indx], "gi"), "~~~$&```");

有了这个,您不妨删除循环并仅使用

return target.replace(new RegExp(phrase.join("|"), "gi"), "~~~$&```")

关于JavaScript 正则表达式不区分大小写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12070743/

相关文章:

javascript - 日历不适用于 jQuery 1.9.1(但它适用于 jQuery 1.7.1)

javascript - 从中间件nodejs传递参数

javascript - 如何通过分配 window.location 在历史记录中留下链接?

c# - 使用 C# Regex 解析多行 BBCode

javascript - 使用 for 循环在类构造函数中创建 x 数量的新对象,然后在 JavaScript 中修改它们

javascript - 使用 react-sticky 制作粘性 header

ios - 使用 OCR 识别 double 或 S 中的数字 5

javascript - 在名字/姓氏验证中只允许一个空格的正则表达式

regex - 解析游戏的控制台命令?

java - java中的SPARQL查询REGEX边界返回空