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

in #fr7 years ago

Table of Contents

  1. Classes de caractère
  2. Exemples
  3. Créer votre propre classe de caractère
    1. Premier test
    2. Version propre
    3. Et pour les consonnes ?
  4. Bilan
  5. Pour aller plus loin

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.
   

Exemples

import re

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

Créer votre propre classe de caractère

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'))

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)

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)

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

Pour aller plus loin