On peut passer des paramètres lors de la compilation d'expressions rationnelles : des « drapeaux » exprimant une modification de la manière de réaliser l'analyse du texte...
Ces drapeaux existent aussi sous forme condensé : re.I est équivalent à re.IGNORECASE.
Plusieurs drapeaux peuvent être passés à compile(), en utilisant le tube : l'argument re.I | re.M correspond, par exemple, à passer les deux drapeaux re.IGNORECASE et re.MULTILINE.
Précisons la signification de certains drapeaux...
Rend les métacaractères \w, \W, \b, et \B sensibles à la langue du système (la locale).
Par exemple, \w signifie « tout caractère alphanumérique ». À la base, cela correspond à [a-zA-Z0-9_].
Ce méta-caractère est souvent employé sous la forme \w+, pour relever les mots du texte, qui sont des successions de ces caractères. Seulement, en français, ces mots peuvent contenir des accents, ou d'autres symboles : é, ç...
Si le drapeau re.LOCALE est passé à compile() et si la locale du système est bien définie à français, alors le métacaractère \w interceptera aussi ces caractères propres à la langue française, rendant possible l'utilisation de \w+ pour relever les mots du texte.
Habituellement, les méta-caractères ^ et \$ désignent respectivent le début et la fin de la chaîne. Si cette dernière s'étend sur plusieurs lignes (avec des \n, donc), alors :
Passer le drapeau re.MULTILINE revient à modifier ce comportement. Alors