Filtrer des numéros de téléphone
Vous devez maintenant écrire un script pour un moteur de recherche de téléphones portables. Il doit parcourir une liste de numéros et renvoyer ceux qui répondent à certains critères.
Les numéros de la liste ont la structure suivante :
- Indicatif régional optionnel : 3 chiffres
- Préfixe : 4 chiffres
- Numéro de ligne : 6 chiffres
- Extension optionnelle : 2 chiffres
Par exemple : 654-8764-439434-01.
Vous décidez d’utiliser .findall() ainsi que la négation par anticipation du groupe non capturant (?!) et la négation par rétrospection (?<!).
La liste cellphones, qui contient trois numéros de téléphone, et le module re sont chargés dans votre session. Vous pouvez utiliser print() pour afficher les données dans l’IPython Shell.
Cet exercice fait partie du cours
<cours>Expressions rationnelles en Python</cours>Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
for phone in cellphones:
# Get all phone numbers not preceded by area code
number = re.____(r"(____-)____-____-____", ____)
print(number)