用于匹配 <a> 不包含特定 URL 查询的标签的正则表达式

Regex to match <a> tags that do not contain specific URL query

我需要一个正则表达式,它将 select 所有 <a> 不包含特定查询的标签。例如这里是一个标签列表:

<!-- valid -->
<a href="testsite.com">Test Content</a>
<a href="testsite.com?source=facebook">Test Content</a>
<a href="testsite.com?test=123">Test Content</a>
<a href="testsite.com/path/morepath">Test Content</a>

<!-- invalid (query string is test=abc) -->
<a href="testsite.com?test=abc">Test Content</a>

如何编写仅 select 链接 具有查询字符串 [=14] 的正则表达式=].我搜索了整个 Stack Overflow,虽然我理解否定的概念 lookaheads/lookbehinds,但我似乎无法让它发挥作用。

我正在开发一个自定义 RSS 提要,用于在第三方网站上宣传内容。我正在使用 WordPress 循环提取内容,动态查找属于我们网站的链接并添加查询字符串。完成后,我需要找到所有没有查询字符串的链接,以便我可以根据第三方网站的要求去除标签。我希望这能提供更多的见解。

试试这个正则表达式:

<a href="(?![^>]*?test=abc">[^"]*?>)[^"]*">([^<]+)<\/a>

demo