【发布时间】:2015-04-01 16:04:50
【问题描述】:
我需要一个正则表达式来选择所有不包含特定查询的<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>
如何编写只选择没有查询字符串为test=abc 的链接的正则表达式。我在 Stack Overflow 上进行了全面搜索,虽然我了解负前瞻/后瞻的概念,但我似乎无法让它发挥作用。
我正在开发一个自定义 RSS 提要,用于在第三方网站上推广内容。我正在使用 WordPress 循环来提取内容,动态查找属于我们网站的链接并添加查询字符串。完成后,我需要找到所有没有查询字符串的链接,以便我可以根据第三方网站的要求剥离标签。我希望这能提供更多的洞察力。
【问题讨论】:
-
嗨@Cory,在格式化代码时,请确保在段落和代码之间添加一些新行,以便正确格式化。 Corys 必须团结一致,所以这次我得到了你的支持 :)
-
关于 Stack Overflow 的第一篇文章。我试着把它清理一下。如果我遗漏了什么,请告诉我。
-
您能补充一下您使用的语言/技术吗?在我看来,正则表达式在这里可能不是正确的解决方案。另外,欢迎Stack Overflow!
-
一般来说,正则表达式并不是解析 HTML 的好工具。请参阅htmlparsing.com/regexes 了解大多数正则表达式找不到的一些 HTML 代码示例。
标签: regex html-parsing query-string