L'expression régulière est un puissant outil de correspondance de caractères qui peut être utilisé pour identifier et faire correspondre des chaînes dans un certain format. En programmation réseau, l'adresse IP est un concept très important, donc utiliser des expressions régulières pour la correspondance d'adresses IP en Python est une compétence très nécessaire et pratique. Cet article explique comment utiliser les expressions régulières Python pour la correspondance d'adresses IP.
L'adresse IP se compose de quatre chiffres, chaque chiffre va de 0 à 255. Par conséquent, une expression de base de correspondance d'adresse IP peut être écrite comme suit :
import re ip_pattern = r'(d{1,3}.){3}d{1,3}'
Cette expression signifie faire correspondre une adresse IP composée de 4 champs numériques, chaque champ numérique est composé de 1 à 3 chiffres, entre les champs numériques séparés par des points.
Dans cette expression, nous utilisons une syntaxe de base d'expressions régulières :
Bien que l'expression ci-dessus puisse correspondre à la plupart des adresses IP, elle ne prend pas en compte le fait que la plage de valeurs du champ du numéro d'adresse IP doit être comprise entre 0 et 255. Pour résoudre ce problème, nous devons faire correspondre chaque champ numérique séparément et utiliser le mécanisme de regroupement d'expressions régulières pour le limiter.
ip_pattern = r'((25[0-5]|2[0-4]d|[01]?dd?).){3}(25[0-5]|2[0-4]d|[01]?dd?)'
Dans cette expression, nous faisons correspondre chaque champ numérique séparément, où :
Cette expression utilise le mécanisme de regroupement, dans chaque champ numérique. Une sous-expression entre parenthèses est utilisée dans l'expression pour indiquer qu'il s'agit d'un regroupement . Il y a également un groupe à la fin de l'expression entière, indiquant que l'adresse IP entière est composée de quatre champs numériques. De cette façon, nous limitons la plage de valeurs de chaque champ numérique.
En plus des adresses IPv4, il existe également des adresses IPv6, composées de 8 chiffres hexadécimaux (chaque numéro peut avoir 1 à 4 chiffres hexadécimaux) séparés par des deux-points. L'expression régulière de l'adresse IPv6 peut s'écrire sous la forme :
ipv6_pattern = r'[a-fA-F0-9]{1,4}(:[a-fA-F0-9]{1,4}){7}'
Cette expression signifie faire correspondre une adresse IPv6 composée de 8 chiffres hexadécimaux. Chaque numéro peut avoir 1 à 4 chiffres hexadécimaux, entre les nombres séparés par deux points.
Résumé
Les expressions régulières Python peuvent être utilisées pour gérer divers problèmes de correspondance de caractères, y compris la correspondance d'adresses IP. Lors du traitement des adresses IP, vous devez prendre en compte la plage de valeurs du champ numérique et utiliser le mécanisme de regroupement pour la limiter. En plus des adresses IPv4, il existe également des adresses IPv6, composées de 8 chiffres hexadécimaux et pouvant être mises en correspondance à l'aide d'expressions régulières similaires.
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!