【问题标题】:JavaScript Regex Positive Lookahead no immediate follow up of the TermJavaScript Regex Positive Lookahead 没有立即跟进 Term
【发布时间】:2016-07-15 10:39:32
【问题描述】:

我尝试创建一个捕获链接的正则表达式模式。

我搜索的术语,例如链接不会立即跟进“另一个”。中间有随机的 HTML 文本。

之后有一个我想捕获的链接。

正则表达式是否可以立即找到链接?

我尝试了积极的前瞻,但我了解到它应该立即跟在给定的术语后面,在这种情况下这是不正确的。

这是我的 2 个“测试页”。

https://macrofan.lima-city.de/testpage.html

https://macrofan.lima-city.de/testpage2.html

【问题讨论】:

  • 您是在 html dom 树/加载的网站中搜索,还是在(例如)由 ajax 请求返回的 html 文本中搜索?您想获取锚元素的标签 ID、锚 (dom) 元素本身还是该标签的 html 文本?

标签: javascript regex regex-lookarounds


【解决方案1】:

如果要捕获第一个链接,可以使用这个正则表达式:

another.*"([a-zA-Z-]*\.html)"

这假设您的链接设置与您的示例中一样,否则您必须在捕获组之前修改它以满足您的要求。

【讨论】:

    【解决方案2】:

    你可以通过使用..获得所有href属性。

    var m = htmlString.match(/href="([^\'\"]+)/g)
    

    它将返回所有href匹配的数组。
    一旦你有了数组,你就可以获取第一个或最后一个链接。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-09-22
      • 1970-01-01
      • 1970-01-01
      • 2017-06-23
      • 2012-12-10
      相关资源
      最近更新 更多