2011-01-28 10 views
1

それらの括弧。のPHPにpreg_replaceパターン

+0

例を挙げることができますか? (ソースと期待される結果)しかし、私はあなたのケースが "普通"と発音しておらず、定義によっては正規表現では一致しないかもしれないと思っています – Hannes

+0

もう少し詳しく説明したいと思うか、期待される結果と一緒に? –

答えて

4

は、この正規表現を試してみてください:

$re = '#\[(?:.*?(?0))*.*?\]#' 

これは自身がそれらの間の任意の文字で、一つ以上[...]のペアが含まれていてもよい[...]ペアを一致します。これは、パターン内の再帰を使用して実行されます((?0)はパターンを再度呼び出します)。

preg_match($re, '[.[.]....]', $m); 
print_r($m); 

// Output: 
// Array 
// (
// [0] => [.[.]....] 
//) 
+0

すばらしい答え! TY – RealFantasy