【发布时间】:2015-02-06 14:05:02
【问题描述】:
在 PHP 中,我有以下正则表达式来匹配 [] 或 {} 之间的单词:
\[([^\]]*)\]|\{([^\}]*)\}
当在这个文本上使用这个时:
xyz[word1]abc[word2]def{word4}ghi[word5]jkl{word6}mno
与
preg_match_all('/\[([^\]]*)\]|\{([^\}]*)\}/i', 'xyz[word1]abc[word2]def{word4}ghi[word5]jkl{word6}mno', $result);
我得到一个包含 3 个数组的数组,其中 2 个不同的捕获组作为 2 个 不同 数组。
正则表达式是说明问题的一个简单示例,因此不能简单地将正则表达式仅使用 1 个捕获组。我必须有 2 个不同的捕获组,但只需要在 1 个结果数组中使用它们。
那么,有没有办法将多个捕获组组合成 1 个捕获结果数组?
【问题讨论】: