正则表达式模式 /}/ 有时匹配 } 有时不匹配。
PHP中有任何已知的错误吗?我正在使用 PHP 5.40
我假设 } 不需要为匹配而转义。虽然/\}/
总是匹配 } 但这种行为似乎是错误的。
该链接还显示了 11 个只需要转义的元字符。
有 11 个具有特殊含义的字符:左方括号 [、反斜杠 \、插入符号 ^、美元符号 $、句点或点 .、竖线或管道符号 |、问号 ?、星号或星号*、加号 +、左圆括号(和右圆括号)。这些特殊字符通常称为“元字符”。
例如,根据PHP 文档-
,它是一个元字符,但它不需要转义并且在 PHP 中可以正常工作,为什么不呢?/-/
}
$subject = 'find me}';
$pattern = '/}/';
$isMatch = preg_match($pattern,$subject,$matches);
echo 'Match Found = ' . $isMatch . '<br />';
print_r($matches);
有时我会关注
Match Found = 0
Array ( )
有时我会关注
Match Found = 1
Array ( [0] => } )