【问题标题】:Regex to catch specific anchor formula正则表达式捕获特定的锚公式
【发布时间】:2018-09-05 06:36:53
【问题描述】:

我有一个 html 文件,该文件包含 html 标签我想选择所有具有特定公式的锚点,该公式如下所示

<a href="AnyTextHereFollowingByThatChar/" target="_blank">

我像下面这样写正则表达式

\<a\s*href\=\"(.*?)"\s*target\="_blank"

但是这个正则表达式选择它匹配的第一个锚点,直到在任何其他锚点上找到关键字目标,然后在选择中间的所有字符后停止。

感谢任何帮助抓住这些锚&lt;a href="AnyTextHereFollowingByThatChar/" target="_blank"&gt;

【问题讨论】:

  • 正则表达式 html 存在问题,如果它嵌套在更大的 html 文档 ID 中,请考虑使用 html-agility-pack.net
  • 这是什么 html-agility-pack.net @TheGeneral
  • 它是一个专用的 Jedi html 解析库,可以轻松解决您的 html 难题。嗯...经过一个突然的学习曲线和几个 SO 问题
  • 其次,不要尝试使用直接正则表达式来执行此操作。 HtmlAgilityPack 将让您提取您正在寻找的元素和属性的对象表示,可以以您尝试的方式更安全地查询。
  • 用正则表达式解析 HTML 可能会有unfortunate effects的心理状态:别这样。

标签: c# regex


【解决方案1】:

终于找到了我需要的正则表达式

\<a\s*href\="(?<value>[a-zA-Z0-9]+[^/])*\/"\s*target\="_blank">

这个正则表达式将只选择我在上面的问题中需要的锚

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-01-02
    • 2019-10-08
    • 1970-01-01
    • 2020-01-02
    • 1970-01-01
    • 1970-01-01
    • 2023-01-17
    相关资源
    最近更新 更多