考虑到某些文字,我想删除{
和}
之间的所有文字。块本身可能包含一些块。我怎么能用PCRE正则表达式呢?
\\example input:
{a}b{c{d}}e{f{g}h}
\\output:
be
答案 0 :(得分:3)
使用regular expression recursion:
\{(?>[^{}]|(?R))*\}
PHP示例:
$input = '{a}b{c{d}}e{f{g}h}';
$output = preg_replace('/\{(?>[^{}]|(?R))*\}/', '', $input);
echo($output); # => be