当我找到此答案时,我无法弄清楚如何修改模式以使用自己的定界符where
{和}。所以我的方法是使其更通用。
这是一个用 您自己的左右定界符变量 生成regex模式的脚本。
$delimiter_wrap = '~';$delimiter_left = '{';$delimiter_right = '}';$delimiter_left = preg_quote( $delimiter_left, $delimiter_wrap );$delimiter_right = preg_quote( $delimiter_right, $delimiter_wrap );$pattern = $delimiter_wrap . $delimiter_left . '((?:[^' . $delimiter_left . $delimiter_right . ']++|(?R))*)' . $delimiter_right . $delimiter_wrap;preg_match_all( $pattern, $subject, $matches );


