Échapper aux barres obliques inverses dans les expressions régulières PHP
Pour échapper à une barre oblique inverse dans un modèle d'expression régulière PHP, on peut utiliser 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 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.
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3