Maison  >  Article  >  développement back-end  >  Pourquoi "\d " correspond-il aux adresses IP lors de la validation des chaînes numériques ?

Pourquoi "\d " correspond-il aux adresses IP lors de la validation des chaînes numériques ?

Susan Sarandon
Susan Sarandonoriginal
2024-11-15 06:26:03534parcourir

Why Does

Validation de chaînes numériques avec des expressions régulières

En essayant de valider des chaînes numériques à l'aide de l'expression régulière "d", vous avez rencontré des correspondances inattendues pour les adresses IP. Pour comprendre pourquoi, examinons les spécificités de la correspondance d'expressions régulières.

Le modèle "d" correspond à n'importe quel chiffre de 0 à 9. "d" correspond à n'importe quelle séquence d'un ou plusieurs chiffres. Bien que cela semble simple, il est crucial de noter qu'il vérifie uniquement "à l'intérieur" de la chaîne, et non du début à la fin.

Dans votre exemple, la chaîne "78.46.92.168:8000" contient une séquence de chiffres. ("78") au début de la chaîne. Par conséquent, "d" correspond à cette séquence même si la chaîne entière n'est pas numérique en raison de la présence de "." et ":".

Solution :

Pour valider des chaînes numériques du début à la fin, vous pouvez utiliser les expressions suivantes :

  1. ^d $ : ce modèle ancre la correspondance au début et à la fin de la chaîne, garantissant qu'elle ne contient que chiffres.
  2. "78.46.92.168:8000".isdigit() : Cette méthode pythonique vérifie si la chaîne entière contient uniquement des caractères numériques.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn