2
鑑於一些文字我想刪除包裹{
和}
之間的所有文本。該塊本身可能包含一些塊。我怎樣才能使用PCRE正則表達式?去除第一級模塊
\\example input:
{a}b{c{d}}e{f{g}h}
\\output:
be
鑑於一些文字我想刪除包裹{
和}
之間的所有文本。該塊本身可能包含一些塊。我怎樣才能使用PCRE正則表達式?去除第一級模塊
\\example input:
{a}b{c{d}}e{f{g}h}
\\output:
be
使用regular expression recursion:
\{(?>[^{}]|(?R))*\}
PHP例子:
$input = '{a}b{c{d}}e{f{g}h}';
$output = preg_replace('/\{(?>[^{}]|(?R))*\}/', '', $input);
echo($output); # => be
記住我,你總是超越我?! –
@AmitJoki,如果您有更好的解決方案,請發表解答。 – falsetru
nah!,當你的答案來臨時試圖匹配。要接受它,你是一個相當不錯的正則表達式 –