将正则表达式捕获组合并为1个数组?
问题描述:
在PHP我有以下正则表达式匹配是间[]或{}词:当使用这种在这个文本将正则表达式捕获组合并为1个数组?
\[([^\]]*)\]|\{([^\}]*)\}
:
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个结果数组。
那么,有没有什么办法可以将多个捕获组合成一个捕获结果数组?
答
工程就像一个魅力,非常感谢! – Dylan 2015-02-06 14:10:22