1

我正在尝试创建一个正则表达式,它可以包含这三个元素中的一些元素 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

4

1 回答 1

0

你能用吗

(cat\d/(?P<var\d>\w+))*

它将匹配所有 cat/var 出现

[编辑]

也是这样:

/(cat\d\/\w+)/g
于 2012-07-10T08:14:57.673 回答