【发布时间】:2016-06-09 19:48:23
【问题描述】:
当我在网站上抓取文章 url 并获取所有 <a> 标签并获取所有 href 属性时,此 url 列表有一些链接不是文章的链接,而是指向其他类别或同一域内任何其他页面的链接,所以我需要做到以下几点:
为 url 创建一个模式并将链接列表中的每个 url 匹配到这个模式,这样我就可以知道这个 url 是不是文章 url
模式示例如下:
链接:“http://www.cnbc.com/2016/03/13/financial-times-china-rebuts-economy-doomsayers-on-debt-and.html”
模式匹配:http://www.cnbc.com/(*)/(*)/(*)/(*).html
所以用 (*) 替换链接的任何可变部分的想法
问题是如何将链接匹配到模式?
【问题讨论】:
-
使用
[^/]+而不是*,并转义点。 -
前三个
(*)部分是数字,因此您可以使用[0-9]+。最后一个(*)部分是字母和符号的组合,所以你可以使用.+。 -
我为非程序员的用户制作了这个模式,因此他们无法将 url 转换为正则表达式,这只是示例,它可用于任何网站
-
你有什么代码,你试过什么?