正则表达式选择除某些锚以外的所有锚

时间:2018-10-23 13:43:30

标签: regex regex-negation regex-lookarounds

除了那些具有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

但是它同时选择了两个锚点。

1 个答案:

答案 0 :(得分:1)

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

否定前瞻(?!.*href=["']\/["'])不会使用href="/"捕获标签

Regex