PHP中的正则表达式

时间:2010-04-23 18:41:25

标签: php regex

抱歉描述不清楚,我的英语不好。

我的问题是我想解码一个字符串,这个字符串有嵌套的内容由{}分隔 例如:

字符串:

{any string0{any string 00{any string 000....}}}{any string1}any string.

我想得到的结果:

 array[0] = {any string0{any string 00{any string 000....}}}
 array[1] = {any string1}

我希望它足够清楚。

1 个答案:

答案 0 :(得分:4)

充分利用(奇怪的,并且希望很快就要编辑)的问题,下面以您的示例字符串为例,提供您的示例数组。

$subject = '{blah\blah{\blah\blah...{\bl....}}}{blah...}blah... ';
$pattern = '/\{(?>[^{}]++|(?R))*\}/';

preg_match_all($pattern, $subject, $matches);
print_r($matches[0]);

产生:

Array
(
    [0] => {blah\blah{\blah\blah...{\bl....}}}
    [1] => {blah...}
)