Extraction de modèles avec Python Regex
Lorsque vous traitez des données textuelles, l'extraction de modèles spécifiques peut être une tâche courante. Les expressions régulières sont un outil puissant à cet effet, permettant aux programmeurs de capturer des modèles correspondants dans une chaîne plus grande.
Considérons l'exemple suivant, où nous souhaitons récupérer le mot « mon_nom_utilisateur » à partir d'une chaîne donnée :
someline abc someother line name my_user_name is valid some more lines
À l'aide du module re, nous compilons d'abord le modèle d'expression régulière :
p = re.compile("name .* is valid", re.flags)
L'argument re.flags permet un indicateur facultatif modificateurs, tels que re.IGNORECASE ou re.DOTALL. Dans ce cas, nous n'utilisons aucun modificateur.
Pour trouver le modèle correspondant dans la chaîne, nous utilisons la méthode match :
p.match(s) # this gives me <_sre.SRE_Match object at 0x026B6838>
Cependant, la méthode match ne renvoie que des métadonnées sur la correspondance, sans capturer le texte correspondant réellement. Pour extraire la partie capturée, nous devons utiliser la méthode group :
result = p.search(s) if result: user_name = result.group(1)
L'expression result.group(1) capture le premier groupe de capture dans l'expression régulière, qui est dans ce cas le mot "my_user_name ". En l'attribuant à user_name, nous avons effectivement extrait le modèle souhaité de la chaîne.
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!