正则表达式分组一个简单的URL

时间:2013-06-20 00:32:42

标签: regex

如何让这个正则表达式选择以:text / 开头的每个组?所以它以开头,以 / 结尾,除非它是最后一个字符串。

示例网址

/site/:param/anything/:s
到目前为止,正则表达式是:

(:.+/)

我很亲密,但到目前为止。

所以它会选择粗体项目: /站点/的:PARAM /什么/的:■

2 个答案:

答案 0 :(得分:0)

我认为应该这样做:

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

无需明确检查终止/或字符串结尾,因为其中任何一个都将结束[^/]+匹配。

答案 1 :(得分:0)

这将选择第一次出现:

(:[^\/]+)(\/|$)

我认为正则表达式无法匹配给定字符串中的无限数量的条目。你必须为此重复上述正则表达式。 Ruby中的示例:

"/site/:param/anything/:s".match(/(:[^\/]+)(\/|$)/)