如何让这个正则表达式选择以:text / 开头的每个组?所以它以:开头,以 / 结尾,除非它是最后一个字符串。
示例网址
/site/:param/anything/:s
到目前为止,正则表达式是:
(:.+/)
我很亲密,但到目前为止。
所以它会选择粗体项目: /站点/的:PARAM /什么/的:■
答案 0 :(得分:0)
我认为应该这样做:
(?<=/:)[^/]+
无需明确检查终止/
或字符串结尾,因为其中任何一个都将结束[^/]+
匹配。
答案 1 :(得分:0)
这将选择第一次出现:
(:[^\/]+)(\/|$)
我认为正则表达式无法匹配给定字符串中的无限数量的条目。你必须为此重复上述正则表达式。 Ruby中的示例:
"/site/:param/anything/:s".match(/(:[^\/]+)(\/|$)/)