只要没有嵌套括号,使用正则表达式很容易匹配括号之间的文本。我用
preg_match('#\(([^)]*)\)#', $subject, $matches);
我得到整个表达式$matches[0]
和括号之间的部分$matches[1]
。
但如果我有$subject = 'test (with (nested) parenthesis)';
它会返回(当然)'with (nested'
而不是'with (nested) parenthesis'
. 如何修改正则表达式以获得预期结果?