用于排除URL的正则表达式

时间:2011-10-24 14:17:51

标签: regex

我与一家电子邮件公司合作,该公司有一个功能,他们为您的网站提供蜘蛛网,以便提供自定义内容。我有能力根据我提供的正则表达式模式让蜘蛛忽略网址。

对于此系统,模式以“/".

开头和结尾

我要做的是忽略http://www.website.com/2011/10但允许http://www.website.com/2011/10/title-of-page.html

我原本以为下面的模式会起作用,因为它没有斜线但没有运气。

有什么想法吗?

/http:\/\/www\.website\.com\/[0-9][0-9][0-9][0-9]\/[0-9][0-9]/

2 个答案:

答案 0 :(得分:1)

这取决于正则表达式引擎,但您可以使用$(如果URL预先标记)或者匹配空格和分隔符

答案 1 :(得分:1)

你的正则表达式匹配URL的部分,所以你需要告诉它不要让斜杠跟着它:

/http:\/\/www\.website\.com\/[0-9]{4}\/[0-9][0-9](?!\/)/

如果您还想避免像http://www.website.com/2011/100中那样的其他部分匹配,那么额外的word boundary可能有所帮助:

/http:\/\/www\.website\.com\/[0-9]{4}\/[0-9][0-9]\b(?!\/)/