Faire correspondre plusieurs expressions régulières en Python
La fonction re.search() est utile pour trouver la première occurrence d'un modèle dans une chaîne . Cependant, si vous devez localiser toutes les correspondances dans un texte donné, il existe des méthodes adaptées à cette tâche spécifique.
Une option est re.findall, qui renvoie une liste contenant toutes les sous-chaînes correspondant au modèle fourni. C'est idéal lorsque vous souhaitez extraire et travailler avec des correspondances individuelles de manière séquentielle. Par exemple :
import re text = 'This is a line with matching words: apple, orange and banana.' matches = re.findall(r'apple|orange|banana', text) print(matches) # Output: ['apple', 'orange', 'banana']
Une autre alternative est re.finditer, qui génère des objets MatchObject pour chaque correspondance. Ces objets fournissent des informations détaillées sur les matchs, y compris leurs positions et les groupes capturés. Il est souvent utilisé lorsque vous avez besoin d’un contrôle plus granulaire sur les résultats correspondants. Par exemple :
import re text = 'This is a line with matching words: apple, orange and banana. Apples are the best!' for match in re.finditer(r'apple|orange|banana', text): print(match.group()) # Output: 'apple', 'orange', 'banana', 'apple' (last match)
En utilisant re.findall ou re.finditer, vous pouvez identifier et récupérer efficacement toutes les occurrences d'un modèle spécifié dans une chaîne en Python. Ces méthodes vous permettent de traiter les correspondances sous forme de collection ou de les parcourir pour une analyse plus complexe.
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!