Pour ne rien rater de mon actu

Computer Code Python CCP 18 : expressions régulières 5

1 Classes de caractère

\d N'importe quel chiffre de 0 à 9
   
\D N'importe quel caractère qui n'est pas un chiffre
   
\w N'importe quelle lettre, chiffre, ou le _
   
\W N'importe quel caractère qui n'est pas 1 lettre,
  1 chiffre, ou le _
   
\s N'importe quel espace, tabulation, ou caractère de
  nouvelle ligne
   
\S N'importe quel caractère qui n'est pas 1 espace,
  1 tabulation, ou 1 nouvelle ligne.
   

2 Exemples

import re

Regex = re.compile(r'\d+\s\w+')
print(Regex.findall('5 oranges, 10 pommes, 7 aubergines, 9 citrons'))

3 Créer votre propre classe de caractère

3.1 Premier test

import re

voyelles = re.compile(r'[aeiouyAEIOUY]')
print("Attention, 'y' est 1 voyelle en français mais pas en anglais !")
print(voyelles.findall('Bonjour apprenti pythonien, que la force soit avec vous'))

3.2 Version propre

import re
import pprint

voyelles = re.compile(r'[aeiouyAEIOUY]')
print("Attention, 'y' est 1 voyelle en français mais pas en anglais !")
v = voyelles.findall('Bonjour apprenti pythonien, que la force soit avec vous')
print("v est de type : ", type(v))
print(v)
pprint.pprint(v)
v = ' '.join(v)
print("v est de type : ", type(v))
print(v)
pprint.pprint(v)

3.3 Et pour les consonnes ?

import re
import pprint

voyelles = re.compile(r'[^aeiouyAEIOUY]')
print("Attention, 'y' est 1 voyelle en français mais pas en anglais !")
v = voyelles.findall('Bonjour apprenti pythonien, que la force soit avec vous')
print("v est de type : ", type(v))
print(v)
pprint.pprint(v)
v = ' '.join(v)
print("v est de type : ", type(v))
print(v)
pprint.pprint(v)

4 Bilan

Nous avons vu dans ce cours :

  • ce que sont les classes de caractères
  • des exemples d'utilisation
  • comment créer sa propre classe de caractère

5 Pour aller plus loin