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

in fr •  6 years ago 

Table of Contents

  1. Poursuivons avec nos regex
  2. Once again
  3. Correspondance avec plusieurs groupes avec la pipe
  4. Bilan
  5. Pour aller plus loin

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)

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)

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

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

Pour aller plus loin

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!