Clarifier les limites des mots d'expression régulière en PHP
Lorsque vous travaillez avec des expressions régulières en PHP, comprendre les limites des mots (b) est crucial pour une chaîne précise correspondant. Ce délimiteur marque la transition entre les caractères de mot (w) et les caractères non-mots (W).
Dans l'exemple fourni, l'intention est de faire correspondre des mots spécifiques, y compris le mot « chat », tout en se demandant s'il commence ou termine un mot. Cependant, les résultats attendus ne sont pas au rendez-vous.
Décomposons la problématique :
Première expression :
preg_match("/(^|\b)@nimal/i", "something@nimal", $match);
Deuxième expression :
preg_match("/(^|\b)@nimal/i", "something!@nimal", $match);
Solution :
Pour résoudre le problème, il est essentiel de comprendre que les limites des mots ne correspondent que lorsqu'il y a une transition d'un caractère verbal à un caractère non verbal. Dans le premier cas, une limite de mot est créée avant "@", tandis que dans le second cas, aucune limite de ce type n'existe entre "!" et "@."
Par conséquent, l'expression correcte pour faire correspondre les mots qui commencent et se terminent par des caractères de mot est :
preg_match("/\b@nimal\b/i", "something@nimal", $match);
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!