PHP 正規表現でのバックスラッシュのエスケープ
PHP 正規表現パターンでバックスラッシュをエスケープするには、3 つのバックスラッシュ (\\ ) または 4 つのバックスラッシュ (\\\\)。どちらのオプションでも一致は成功しますが、解釈と使用法には微妙な違いがあります。
テスト ケース:
次のテスト ケースを考えてみましょう:
// TEST 01: (3 backslashes) $pattern = "/^[\\\]{1,}$/"; $string = '\\'; // ----- RETURNS A MATCH ----- // TEST 02: (4 backslashes) $pattern = "/^[\\\\]{1,}$/"; $string = '\\'; // ----- ALSO RETURNS A MATCH -----
どちらの場合も、3 つと 4 つのバックスラッシュを使用してバックスラッシュをエスケープできることを示す一致が返されます。
解釈と使用法:
// Matches a single backslash preg_match( '/\\\/', '\\' ); // 1 // Fails to match a literal backslash followed by a backslash preg_match( '/\\\\\s/', '\\s' ); // 0
// Matches a literal backslash followed by any character preg_match( '/\\\\\s/', '\\s' ); // 1
推奨事項:
これらの観察に基づいて、一致を求めるときは正規表現パターンで常に 4 つのバックスラッシュ (\\\\) を使用することをお勧めします。バックスラッシュ。このアプローチにより、パターン マッチングの一貫性と予測可能性が保証されます。
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3