我正在尝试创建一个正则表达式,它可以包含这三个元素中的一些0 ... X次:
/ CAT1 / VAR1
/ CAT2 / VAR2
/ CAT3 / VAR3
这是我到目前为止所得到的:
((cat1|cat2|cat3)/(?P<var>\w+))*
在此示例字符串中,它仅匹配第一个匹配项: http://url.dev/cat1/aaaaa / cat1 / bbbbb / cat2 / ccccc
在这个样本中还有两次出现cat1,我想知道是否有可能收获这两个值。
我想要匹配的几个样本:
http://url.dev/cat1/aaaaa/cat1/bbbbb/cat2/ccccc/cat3/ddddd/cat3/eeeee
http://url.dev/cat1/aaaaa
http://url.dev/cat2/aaaaa/cat3/bbbbb
答案 0 :(得分:0)
(cat\d/(?P<var\d>\w+))*
它将匹配所有cat / var出现次数 [EDIT]
所以:
/(cat\d\/\w+)/g