正则表达式 - 从url中提取路径而不是最后一个/

时间:2015-11-27 16:51:23

标签: regex url path

我有以下正则表达式

(.*[\/])

这将匹配     /路径/ tooo / URL /

来自此字符串

/path/tooo/url/blablabla-xxxxx

我的问题是如何修改正则表达式以匹配

/path/tooo/url 

(没有最后/)

谢谢。

1 个答案:

答案 0 :(得分:0)

这是一种方法。匹配正斜杠的每个实例,后跟一个或多个非正斜杠的字符,然后匹配其中的一个或多个实例。保持匹配,直到我们找到一个正斜杠的实例,然后只有非正斜杠字符(负向前瞻)。

((?:\/[^\/]+)+)(?=\/[^\/]+)

我在整个事情中放置了一个捕获组,因为它似乎想要捕获捕获组中的结果(你的正则表达式包含在parens中)。

我正在使用非捕获组来进行内部正则表达式:(?:)因为我们不需要捕获这个组。请参阅:What is a non-capturing group? What does a question mark followed by a colon (?:) mean?