私はこの/\(\s*([^)]+?)\s*\)/
正規表現を使用して、PHP preg_replace 関数で外側の括弧を削除しています (詳細については、前の質問のRegex to match any character without Trailing Spaces を参照してください)。
これは、ブラケットのペアが 1 つしかない場合は正常に機能しますが、より多くの場合、たとえば、代わりに に( test1 t3() test2)
なる場合に問題が発生します。test1 t3( test2)
test1 t3() test2
私は正規表現の制限を認識していますが、括弧のペアが複数ある場合、何にも一致しないようにできればいいと思います。
したがって、動作例で十分です。
( test1 test2 )
=>test1 test2
( test1 t3() test2 )
=>(test1 t3() test2)
編集:
削除されたブラケット内の末尾の空白をトリミングし続けたいと思います。