Maison >développement back-end >Tutoriel Python >Comment puis-je capturer plusieurs sous-modèles dans une expression régulière Python ?
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!