除特定子网站外的正则表达式URL模式

时间:2013-12-17 21:32:25

标签: c# regex

我正在使用webcrawler,我正在努力制作正则表达式以支持以下内容。

匹配:以

开头的所有页面
   http://intranet/

但不是以

开头
    http://intranet/sites/ and http://intranet/search/

并在子文件夹中 /页/ 结束 的.aspx

Valid sample: 
http://intranet/products/Pages/default.aspx
Invalid samples:
http://intranet/Pages/sofus/default.aspx
http://intranet/sites/products/Pages/default.aspx
http://intranet/products/Pages/default.aspx#

到目前为止,我已经做到了这个

 ^http://intranet.*/Pages/.*.aspx+

任何帮助表示感谢。

1 个答案:

答案 0 :(得分:4)

这样的模式应该有效:

^http://intranet/(?!sites|search)[^/]+/Pages/.*\.aspx$

(?!...)会创建所谓的negative lookahead assertion,并确保[^/]+不会以sitessearch开头。

这是demonstration