<分区>
我试图搜索字符串的出现,但如果它们是 anchor 标记的一部分,我不想匹配它们。
var str = 'hey there. <a href="github.com">github.com/bvaughn</a>';
str.match(/git/gi)
上面的代码同时匹配了git inside href和anchor标签的innerHTML。我想忽略第一场比赛。忽略打开和关闭选项卡,但仍然搜索 innerHTML。
这可以通过修改正则表达式来完成吗?我已经尝试了几种组合,但我就是没做对。
更新
让我解释一下我的实际用例。我正在尝试创建类似于 chrome 中内置搜索的搜索界面,我们在其中突出显示页面中出现的文本。为此,我使用了一个 react 组件 - react-highlight-words .这对普通文本完全没问题,但我想在突出显示它们之前在文本中自动链接 url。
在文本中添加标记并将其传递给上述组件会弄乱标记,因为它也与其中的字符匹配。所以我希望它忽略 anchor 标记的开始和结束标记,但考虑其余部分。
This is where the relevant matching happens.我希望我能以某种方式调整正则表达式以忽略 anchor 标记。