Pour ne rien rater de mon actu

Computer Code Python CCP 15 : expressions régulières 2

1 Poursuivons avec nos regex

import re

phoneNumRegex = re.compile(r'(\d\d\d)-(\d\d\d-\d\d\d\d)')
mo = phoneNumRegex.search('My american number is 415-555-4242.') # match object
print('Groupe 1 : ', mo.group(1))
print('Groupe 2 : ', mo.group(2))
print('Groupe 0 : ', mo.group(0))
print(mo.group())
print(mo.groups())
areaCode, mainNumber = mo.groups()
print('area code:', areaCode)
print('main number:', mainNumber)

2 Once again

import re

phoneNumRegex = re.compile(r'(\(\d\d\d\))-(\d\d\d-\d\d\d\d)') # échappement des parenthèses de l'area code
mo = phoneNumRegex.search('My american number is (415)-555-4242.') # match object
print('Groupe 1 : ', mo.group(1))
print('Groupe 2 : ', mo.group(2))
print('Groupe 0 : ', mo.group(0))
print(mo.group())
print(mo.groups())
areaCode, mainNumber = mo.groups()
print('area code:', areaCode)
print('main number:', mainNumber)

3 Correspondance avec plusieurs groupes avec la pipe

import re

heroRegex = re.compile(r'Batman|Tina Fey')

mo1 = heroRegex.search('Batman and Tina Fey.')
print('mo1:', mo1.group())

mo2 = heroRegex.search('Tina Fey and Batman.')
print('mo2:', mo2.group())

batRegex = re.compile(r'Bat(man|mobile|copter|bat)')
mo = batRegex.search('Batmobile lost a wheel')
print(mo.group())
print(mo.group(1))

4 Bilan

Dans ce cours nous avons vu :

  • les méthodes group() et groups()
  • comment gérer les caractères spéciaux
  • comment gérer plusieurs correspondances avec la pipe

5 Pour aller plus loin