Maison >développement back-end >Tutoriel Python >Pourquoi '\d ' correspond-il de manière inattendue dans les adresses IP ?

Pourquoi '\d ' correspond-il de manière inattendue dans les adresses IP ?

Patricia Arquette
Patricia Arquetteoriginal
2024-11-12 20:36:02890parcourir

Why Does

Vérification de l'intégrité des chaînes avec des expressions régulières

Lorsque vous essayez de valider une saisie numérique à l'aide de l'expression régulière "d", vous pouvez rencontrer des correspondances inattendues, telles que les adresses IP contenant des caractères non numériques. Comprendre la cause première de ce comportement est crucial pour mettre en œuvre une validation de chaîne efficace.

L'expression régulière "d" correspond à toute séquence consécutive de chiffres dans une chaîne. Cependant, dans l'exemple fourni, l'adresse IP « 78.46.92.168:8000 » contient à la fois des chiffres et des caractères non numériques. Puisque "d" correspond à n'importe quel nombre positif de chiffres dans la chaîne, il correspond aux 78 premiers caractères, même si les caractères restants ne respectent pas la contrainte de chiffre.

Pour éviter de telles fausses correspondances, il est conseillé d'utiliser modèles d'expressions régulières alternatifs qui appliquent une validation numérique stricte. Une approche consiste à utiliser "^d $" qui garantit que la chaîne entière est composée uniquement de chiffres. Alternativement, la méthode "isdigit()" intégrée de Python offre un moyen plus concis et plus simple de vérifier si une chaîne ne contient que des chiffres.

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