请注意,括号样式的起始和结束分隔符并非100%没有问题,因为当它们在表达式中不是成对出现时,需要对其进行转义。当它们出现在字符类[...]内时,这种不匹配可能会发生,因为大多数元字符会失去其特殊含义。请考虑以下示例
<?php
preg_match('{[{]}', ''); // 警告:preg_match(): 没有结束匹配的分隔符'}'
preg_match('{[}]}', ''); // 警告:preg_match(): 未知的修饰符']'
preg_match('{[}{]}', ''); // 警告:preg_match(): 未知的修饰符']'
?>
转义它们可以解决问题
<?php
preg_match('{[\{]}', ''); // 正确
preg_match('{[}]}', ''); // 正确
preg_match('{[\}\{]}', ''); // 正确
?>