Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 正则表达式匹配Url字符串_Regex - Fatal编程技术网

Regex 正则表达式匹配Url字符串

Regex 正则表达式匹配Url字符串,regex,Regex,在使用正则表达式时,我需要一些帮助 我有下面的URL列表,我只想匹配第一个。我想做的是从没有任何其他斜杠的站点中排除除产品url之外的所有其他链接。产品URL页面只是“Product name.aspx” 我尝试了下面的正则表达式,但不能完全掌握它,因为它返回所有匹配项 .*\.aspx 下面是URL的示例。第一个是我想保留的产品url,另一个不应该匹配 /1-KG-HEAT-PUMP.aspx /Functions/ShoppingCart/?ReturnUrl=/600MM-SLIDE-O

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

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

我尝试了下面的正则表达式,但不能完全掌握它,因为它返回所有匹配项

.*\.aspx
下面是URL的示例。第一个是我想保留的产品url,另一个不应该匹配

/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
任何帮助都将不胜感激

谢谢
Brendan

若要仅匹配第一个结果,请仅在/和.aspx之间匹配字母数字和破折号(-)

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

我只想使用一个否定字符类,它可以防止除前导字符外的任何斜杠:

/[^/]*\.aspx

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

嗨,非常感谢大家的回复。当我使用它时,它仍然返回所有匹配的行作为匹配。我要做的只是在并没有子目录的地方匹配行。也许我的问题不够明确。例如,这一行:/1-KG-HEAT-PUMP.aspx将匹配。然而这行/功能/购物车?返回URL=%2f600MM-SLIDE-OUT-RANGEHOOD-3.aspx将不匹配再次感谢Brendant这与我在阅读您的原始帖子后所想的大不相同,因此我的答案现在不再有用。看来波希米亚人的答案是唯一正确的。