Maison > Article > développement back-end > Pourquoi l'expression régulière "\d " correspond-elle aux adresses IP telles que "78.46.92.168:8000" au lieu de uniquement des chiffres numériques ?
Lorsque vous essayez de déterminer si une chaîne est numérique à l'aide de l'expression régulière "d", elle peut découvrez que le modèle correspond également aux adresses IP telles que « 78.46.92.168:8000 ». Cela peut prêter à confusion, car on pourrait s'attendre à ce que « d » ne corresponde qu'à des chiffres numériques. Pour comprendre pourquoi cela se produit, il est nécessaire de comprendre le comportement de "d".
La classe de caractères "d" correspond à n'importe quel caractère à un chiffre dans la plage ASCII (0-9). Le quantificateur " " désigne une ou plusieurs occurrences de l'élément précédent ("d" dans ce cas), indiquant que "d " correspondra à une séquence d'un ou plusieurs chiffres.
Dans l'exemple de chaîne "78.46. 92.168:8000", la séquence "78" est une correspondance valide pour "d". Il correspond aux 78 premiers, pas à la chaîne entière. Une fois la correspondance réussie, le code appelle doStuff().
Pour faire correspondre la chaîne entière et s'assurer qu'elle ne contient que des chiffres numériques , il est nécessaire d'utiliser un modèle d'expression régulière plus spécifique.
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!