正则表达式匹配Url字符串

时间:2014-03-24 01:18:23

标签: regex

我在使用正则表达式时需要一些帮助。

我有以下网址列表,我只想匹配第一个网址。我想要做的是从一个没有任何其他斜杠的网站中排除除产品网址之外的所有其他链接。产品网址页面只是“product-name.aspx”

我已经尝试了以下正则表达式,但无法掌握它,因为它返回所有匹配。

.*\.aspx

以下是网址示例。第一个是我要保留的产品网址,另一个不应该匹配。

/1-KG-HEAT-PUMP.aspx
/Functions/ShoppingCart/?ReturnUrl=/600MM-SLIDE-OUT-RANGEHOOD-1.aspx
/Functions/ShoppingCart?ReturnUrl=%2f600MM-SLIDE-OUT-RANGEHOOD-3.aspx
/Functions/AddToCart/?AppCode=NTA4Mjk%3d&ReturnUrl=/900W-8-COOKING-FUNCTIONS-1.aspx

非常感谢任何帮助

由于 布伦丹

2 个答案:

答案 0 :(得分:1)

我只会使用一个否定的字符类来阻止除前导斜杠之外的任何斜杠:

/[^/]*\.aspx

这意味着/,然后是任意数量的非斜杠字符,然后.aspx

答案 1 :(得分:0)

要仅匹配第一个结果,请仅匹配/和.aspx之间的字母数字和短划线( - )

 ^/([\w\-]*\.aspx)