0

目前我有#([A-Z]+)\>*(.*)#正则表达式。这是它的工作原理:

URL>{B>{A>a}}

Array
(
    [0] => URL>{B>{A>a}}
    [1] => URL
    [2] => {B>{A>a}}
)

我需要在捕获结束时创建一个可选的命名组,例如:

URL>{B>{A>a}}:value

Array
(
    [0] => URL>{B>{A>a}}
    [1] => URL
    [2] => {B>{A>a}}
    [name] => value
)

URL>{B>{A>a}}

    Array
    (
        [0] => URL>{B>{A>a}}
        [1] => URL
        [2] => {B>{A>a}}
    )

这该怎么做?

4

1 回答 1

2

您可以使用语法命名捕获。(?P<name>group)

例如:

/([A-Z]+)\>([^:]*)(?::(?P<name>\w+))?/

注意:这假设所有都以冒号开头,然后只包含单词字符。调整以满足您的需求。

于 2013-02-28T18:37:13.437 回答