我可以使用正则表达式替换锚标签中未嵌套的单词吗?

时间:2019-07-19 15:11:59

标签: javascript regex google-chrome-extension

我正在创建一个Chrome扩展程序,用链接替换网页上文本中的某些单词。我不想替换链接中已经存在的单词。

我正在使用正则表达式查找要替换的单词。

/hello(?![^<]*?<\/a>)/

成功地替换掉已经属于链接的单词。如果我用它代替再见。这个:

hello <a href=#> hello <a/> hello

成为:

goodbye <a> hello <a/> goodbye

我想要的是什么。但是,当其他元素嵌套在链接内时,正则表达式会错误地选择并替换单词。例如:

hello <a href=#> <div> hello </div> <a/> hello

成为:

goodbye <a href=#> <div> goodbye </div> <a/> goodbye

当我希望内部问候保持不变时。

我如何使用正则表达式仅选择不是部分链接的单词,即使它们嵌套在其他元素中?

0 个答案:

没有答案