可选的命名组

时间:2013-02-28 18:27:51

标签: php regex

目前我有#([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}}
    )

怎么做?

1 个答案:

答案 0 :(得分:2)

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

例如:

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

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

相关问题