正则表达式 select 除某些锚点外的所有锚点

Regex select all anchors except some

我需要从字符串中删除所有锚点(锚文本仍然存在),除了那些具有 href="/"

的锚点

这是示例文本:

Fusce imperdiet nulla ut sapien aliquet, congue varius dui consectetur. <a href="/">This link remains</a> et blandit nisl. Curabitur euismod volutpat urna, eget dignissim libero cursus rhoncus. Nulla ac test sollicitudin <a href="test">link from this text should be removed</a>. Maecenas sodales vel lorem eu placerat.

这是我认为应该有效的正则表达式(使用负前瞻):

/<a.*?(?!href=["']\/["'])>(.*?)</a>/gi

然而它选择了两个锚点。

试试正则表达式 <a(?!.*href=["']\/["']).*?>(.*?)<\/a>

否定前瞻 (?!.*href=["']\/["']) 不会捕获带有 href="/"

的标签

Regex