Maison  >  Article  >  développement back-end  >  Comment puis-je capturer plusieurs sous-modèles dans une expression régulière Python ?

Comment puis-je capturer plusieurs sous-modèles dans une expression régulière Python ?

Patricia Arquette
Patricia Arquetteoriginal
2024-11-17 13:55:02380parcourir

How Can I Capture Multiple Subpatterns in a Python Regex?

Capturer plusieurs sous-modèles dans Python Regex

En essayant de faire correspondre des parties d'une adresse e-mail, en particulier lorsqu'il existe plusieurs occurrences d'un modèle comme .(w ), vous avez rencontré un problème où seule la dernière correspondance est capturée.

Utilisation de Python re module, cette capture répétée n’est pas directement prise en charge. Cependant, une méthode alternative consiste à faire correspondre la chaîne entière dans un premier temps, puis à diviser les sous-modèles ultérieurement. Voici un exemple de la façon dont vous pouvez y parvenir :

import re

text = '[email protected]'
pattern = r'([.\w]+)@((\w+)(\.\w+)+)'

match = re.match(pattern, text)

# Split the captured subpattern (e.g., '.something.edu.tr') into a list
sub_patterns = match.group(2).split('.')

Dans cette approche, nous avons d'abord fait correspondre l'adresse e-mail complète, puis utilisé la méthode split() de Python pour séparer les sous-modèles. Cela fournit une solution simple et lisible pour gérer de tels modèles.

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