javascript indexOf/替换多个搜索词

标签 javascript regex

<分区>

假设我有以下文本:

var text = "aaa bbb eee ccc <br>ddd eee fff ggg hhh iii jjj kkk";

搜索词是:

var search = "eee ggg";

我想知道以下其中一项(等效):

a) 要么通过(最好)正则表达式知道搜索词在文本中的位置 (indexOf)。在这种情况下,indexOf() 应该返回 20。(请注意,在 eee fff ggg*

中的那个之前还有一个 eee

b) 能够将找到的术语 eee fff ggg 替换为 newinsertedstring eee fff ggg

提前致谢

编辑文本变量中有一些 br 拆分行,因此它应该只在包含所有搜索词的行中找到它/替换它。

最佳答案

我想这样就可以了:

var text = "aaa bbb eee ccc <br>ddd eee fff ggg hhh iii jjj kkk";
var search = /eee [^e<>]*ggg/g;

console.log(text.search(search)); // a)
console.log(text.replace(search, "newinsertedstring $&")); // b)

关于javascript indexOf/替换多个搜索词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18080545/

相关文章:

javascript - 正则表达式 - 将字符串转换为驼峰大写字母 `dot`

javascript - 正则表达式匹配 - Javascript

javascript - 使用 D3 合并过渡和正常选择

javascript - 为什么在处理数组中的第二个以上索引后,单击如果检查会出现故障

javascript - 在 AngularJS 中使用自定义指令进行模板化是否正确?

javascript - 为什么 window.onload 在 IE 中不触发

r - 优化 R 中的正则表达式以进行子字符串提取

regex - 正则表达式-选择第三个斜杠之前的所有内容

python - 使用 re.findall 捕捉单词

javascript - 如何将关键路径数组返回到嵌套 javascript 对象中的值?