# regex ```python . Le point correspond à n'importe quel caractère. ^ Indique un commencement de segment mais signifie aussi "contraire de" $ Fin de segment [xy] Une liste de segment possibble. Exemple [abc] équivaut à : a, b ou c (x|y) Indique un choix multiple type (ps|ump) équivaut à "ps" OU "UMP" \d le segment est composé uniquement de chiffre, ce qui équivaut à [0-9]. \D le segment n'est pas composé de chiffre, ce qui équivaut à [^0-9]. \s Un espace, ce qui équivaut à [ \t\n\r\f\v]. \S Pas d'espace, ce qui équivaut à [^ \t\n\r\f\v]. \w Présence alphanumérique, ce qui équivaut à [a-zA-Z0-9_]. \W Pas de présence alphanumérique [^a-zA-Z0-9_]. \ Est un caractère d'échappement \t\n\r Tab, newline, retour ``` ##### Nombre d'occurrences: ```python A{2} : on attend à ce que la lettre A (en majuscule) se répète 2 fois consécutives. BA{1,9} : on attend à ce que le segment BA se répète de 1 à 9 fois consécutives. BRA{,10} : on attend à ce que le segment BRA ne soit pas présent du tout ou présent jusqu'à 10 fois consécutives. VO{1,} : on attend à ce que le segment VO soit présent au mois une fois. ``` | Symbole | Nb caractères attendus | Exemples | | ------- | ---------------------- | --------- | | ? | 0 ou 1 | Pyt(.)?on | | + | 1 ou plus | Pyt(.)+on | | * | 0, 1 ou plus | Pyt(.)*on | ##### Fonction match(): ```python re.match(pattern, string, flags = 0) ``` ```python import re >>> x = re.match(r"Py(.)?hon", "Python") >>> x >>> x = re.match(r"Py(.)?hon", "Pithon") >>> x ``` Fonction search(): ```python re.search(pattern, string, flags = 0) ``` Options flags: | | Description | | ---- | ----------- | | 1 | re.I | | 2 | re.L | | 3 | re.M | | 4 | re.S | | 5 | re.U | | 6 | re.X | Fonction sub(): ```python re.sub(pattern, repl, string, max=0) ```