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 つのバックスラッシュ (\\) を使用することをお勧めします。このアプローチにより、パターン マッチングの一貫性と予測可能性が保証されます。
以上がPHP正規表現でバックスラッシュをエスケープするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。