Table of Contents
- Trouver un numéro de téléphone américain SANS expression régulière
- Trouver un numéro de téléphone américain AVEC expression régulière
- Bilan
- Pour aller plus loin
Trouver un numéro de téléphone américain SANS expression régulière
def isPhoneNumber(text):
if len(text) != 12:
return False
for i in range(0, 3):
if not text[i].isdecimal():
return False
if text[3] != '-':
return False
for i in range(4, 7):
if not text[i].isdecimal():
return False
if text[7] != '-':
return False
for i in range(8, 12):
if not text[i].isdecimal():
return False
return True
def answer(text):
if isPhoneNumber(text):
print(text + ' est un numéro américain')
else:
print(text + " n'est pas un numéro américain")
answer('415-555-4242')
answer('04-91-50-50-97')
Trouver un numéro de téléphone américain AVEC expression régulière
import re
# version américaine
americanPhoneNumRegex = re.compile(r'\d\d\d-\d\d\d-\d\d\d\d')
mo = americanPhoneNumRegex.search('My american number is 415-555-4242.') # match object
if mo:
print('Numéro de téléphone américain')
print('American phone number found: ' + mo.group())
# version française
frenchPhoneNumRegex = re.compile(r'\d\d-\d\d-\d\d-\d\d-\d\d')
mo2 = frenchPhoneNumRegex.search('My american number is 01-77-50-59-42.') # match object
if mo2:
print('Numéro de téléphone français')
print('Numéro de téléphone français trouvé : ' + mo2.group())
Bilan
Nous avons vu dans ce cours :
- que les problèmes de recherches de motifs dans des chaînes de
caractères peuvent conduire à des programmes lourds si on
n'utilise pas les bons outils - que les expressions régulières permettent de résoudre ce genre de
problème efficacement - qu'il reste encore beaucoup de choses à découvrir avec les
expressions régulières - un outil pour faire des tests https://www.regexpal.com/
Pour aller plus loin
- La vidéo sur YouTube : https://youtu.be/zglIQByFM4o
- La version HTML sur GitHub : https://emacsfreeman.github.io/ccp/ccp-14-regular-expressions.html
- La formation pour apprendre à coder une blockchain avec Python :
ACBP - La formation pour découvrir les technologies blockchain : CDBSSR
- La formation pour devenir full stack developer : FSD
- Le pack avec un paiement en 10 fois :
https://glmp.systeme.io/pack-3-formations-10-fois
Congratulations @lgsp! You have completed the following achievement on the Steem blockchain and have been rewarded with new badge(s) :
Award for the number of posts published
Click on the badge to view your Board of Honor.
If you no longer want to receive notifications, reply to this comment with the word
STOP
Do not miss the last post from @steemitboard:
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit