正規表現パターン /}/ は } に一致する場合と一致しない場合があります。
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] => } )