Интересно, возможно ли это. У меня есть картина:PCRE накапливает несколько встречных совпадений группы
foo:(?<id>\d+)(?::(?<srcid>\d+))*
Теперь матч на этом образце:
asdasdasd {{foo:1381:2:4:7}}
я получаю матч:
Full match `foo:1381:2:4:7`
Group `id` `1381`
Group `srcid` `7`
Однако, это возможно, чтобы получить таких как:
Full match `foo:1381:2:4:7`
Group `id` `1381`
Group `srcid` [`2`, `4`, `7`]
Мне нужно это для работы с несколькими совпадениями, например. asdasdasd {{foo:1381:2:4:7}} {{foo:1111}}
.
Не в одном шаге. Вы можете либо сопоставить все числа 'srcid', либо разделить потом, либо использовать' \ G' и сопоставлять несколько раз, где 'id' содержится только в первом совпадении. –