我正在创建一个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
当我希望内部问候保持不变时。
我如何使用正则表达式仅选择不是部分链接的单词,即使它们嵌套在其他元素中?