PHP-regex忽略花括号之间的所有东西(甚至花括号)

时间:2013-06-17 03:25:41

标签: php regex

请帮忙,我如何在下面的主题中检索text0和text4:

text0{tex1{text2}text3}text4

2 个答案:

答案 0 :(得分:2)

锚定它!

$text = 'text0{tex1{text2}text3}text4';
if (preg_match('/^(\w+){[\w{}]+}(\w+)$/', $text, $matches))
{
    list(,$start, $finish) = $matches;

}

$start将为“text0”,$finish将为“text4”

答案 1 :(得分:0)

如果您想要括号内的内容,可以使用:

preg_match_all('~(?<out>[^{]++)|({(?>[^{}]++|(?2))*+})~', $string, $matches);
print_r($matches['out']);