【问题标题】:Regex for matching url prefix用于匹配 url 前缀的正则表达式
【发布时间】:2015-05-09 00:29:46
【问题描述】:

我想删除所有网址中的 Google 前缀。

<a href="http://news.google.com/news/url?sa=t&fd=R&ct2=en&usg=YFo&url=http://www.goo.tv/gd/2015/0509/735557.html

dfgdfgdfgdfgdf9

<a href="http://news.google.com/news/url?sa=t&fd=R&ct2=en&usg=AFQjCNFUS_UVkd9L-r7g&clid=c3878e0698331&cid=5213281008&ei=5DFNVJ4eymQLmyYFo&url=http://www.goo.tv/gd/2015/0509/735557.html

我想删除http://news.google.com/news/url?sa=t&amp;fd=R&amp;ct2=en&amp;blalba....url= 这个 Google 前缀,所以它只保留真实的 URL。

我尝试了正则表达式,但它不匹配每个前缀,它匹配所有内容 &lt;a href="(http:\/\/news.google.com/news/url\?([\s\S]*)&amp;url=)

【问题讨论】:

    标签: regex url prefix


    【解决方案1】:

    使用Lazy Quantifiers:

    <a href="(http:\/\/news.google.com\/news\/url\?([\s\S]*?)&url=)
    

    你的正则表达式没有工作,因为它是贪婪的 (*),并且匹配到最后一个 &url=。惰性量词(*?)在找到第一个匹配项时停止,这是您的情况的预期行为。

    【讨论】:

      猜你喜欢
      • 2020-05-19
      • 1970-01-01
      • 1970-01-01
      • 2021-01-07
      • 2019-10-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-26
      相关资源
      最近更新 更多