2016-11-08 17 views
-1

www.example.com/companies/23/brands/39/properties/78RegEx设计一个模式从url中提取id?

我如何属性ID(78)与正则表达式从URL

因为我尝试这个模式相匹配。

(\/properties\/)([0-9]+)\/? 

Match 1 
Full match 46-60 `/properties/78` 
Group 1. 46-58 `/properties/` 
Group 2. 58 

匹配group2没关系。 但实际上我只想匹配/properties/之后的数字!

我如何设计一个模式来匹配这个?

谢谢。

回答

3

您可以在第1组中获得匹配没有问题,在您的示例中,您正在捕获它,而您不需要这样做。

/properties /([\ d] +)/?

应该给你第1组匹配的号码。

+0

[链接](https://regex101.com/r/cU5lC2/857) ' 第1场 全场比赛46-60 /属性/ 78 组1. \t 58-60 78 ' 谢谢。 但它仍然没有像我预期的那样工作。 有一种方法可以将数字捕获为完全匹配吗? – PHOENIXTH

+0

完整匹配是你的正则表达式描述的,所以在这种情况下属性和数字。括号表示一个捕获组。这就是为什么组1是数字。为什么你想让这个号码成为完全匹配? – chatton

+0

如果你需要提取id,你可以使用match.group(1) – chatton

0

将'$'添加到您的正则表达式的结尾处。 '$'匹配字符串的结尾。