Module re Python
Le module re vous permet de rechercher, faire correspondre, découper et remplacer du texte à l’aide d’expressions régulières.
import re
Les expressions régulières sont des motifs pour le texte. Utilisez des chaînes brutes, comme r'\d+', afin que les antislashs soient correctement transmis au moteur d’expressions régulières.
search()
search trouve la première correspondance n’importe où dans la chaîne.
import re
match = re.search(r'\d+', 'Order #12345 shipped')
print(match.group())
12345
findall()
findall renvoie toutes les correspondances non chevauchantes.
import re
emails = re.findall(r'[\w.-]+@[\w.-]+', 'a@example.com b@example.com')
print(emails)
['a@example.com', 'b@example.com']
sub()
sub remplace le texte correspondant.
import re
message = re.sub(r'\s+', ' ', 'too many spaces')
print(message)
too many spaces
Compiler des motifs
Les motifs compilés sont utiles lorsque vous réutilisez la même expression.
import re
pattern = re.compile(r'^python', re.IGNORECASE)
print(bool(pattern.match('Python Cheatsheet')))
True
Groupes capturants
Les parenthèses capturent une partie de la correspondance.
import re
match = re.search(r'(\w+)=(\d+)', 'count=42')
print(match.group(1))
print(match.group(2))
count
42
Gérer l’absence de correspondance
Vérifiez toujours qu’une correspondance existe avant d’appeler group().
import re
match = re.search(r'\d+', 'no number here')
if match:
print(match.group())
else:
print('No match')
No match