Échapper aux barres obliques inverses dans les expressions régulières PHP
Pour échapper aux barres obliques inverses dans un modèle d'expression régulière PHP, on peut utiliser soit trois barres obliques inverses (\) ou quatre barres obliques inverses (\\). Bien que les deux options donnent des correspondances réussies, il existe des différences subtiles dans leur interprétation et leur utilisation.
Cas de test :
Considérez les cas de test suivants :
// TEST 01: (3 backslashes) $pattern = "/^[\\]{1,}$/"; $string = '\'; // ----- RETURNS A MATCH ----- // TEST 02: (4 backslashes) $pattern = "/^[\\]{1,}$/"; $string = '\'; // ----- ALSO RETURNS A MATCH -----
Dans les deux cas, une correspondance est renvoyée, indiquant que trois et quatre barres obliques inverses peuvent être utilisées pour échapper à une barre oblique inverse.
Interprétation et utilisation :
// 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
Recommandation :
Sur la base de ces observations, il est Il est recommandé de toujours utiliser quatre barres obliques inverses (\\) dans un modèle d'expression régulière lorsque vous cherchez à faire correspondre une barre oblique inverse. Cette approche garantit la cohérence et la prévisibilité de la correspondance de modèles.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!