Exercice Corrigé: Les expressions régulières en Python – Partie 1

Avec des exercices corrigés en Python, vous pratiquerez divers concepts du langage Python. Vous commencerez par des exercices Python de base à des exercices plus avancés. La solution est fournie pour chaque exercice. Vous devez essayer de résoudre chaque problème par vous-même avant de vérifier la solution. Si vous avez des questions concernant chaque problème, nous vous encourageons à les poster sur notre forum.
 
 

Exercice 1:

Écrivez un programme Python pour vérifier qu’une chaîne de caractères ne contient qu’un certain ensemble de caractères (dans ce cas, a-z, A-Z et 0-9).

Exemple:

check_str("abcd123ABCD") -> True
check_str("+!%*#?") -> False
Solution:

import re

def check_str(str):
    r = re.compile(r'[^a-zA-Z0-9]')
    str = r.search(str)
    return not bool(str)

print(check_str("abcd123ABCD")) 
print(check_str("+!%*#?"))

Sortie:

True
False
 

Exercice 2:

Écrire un programme Python qui fait correspondre une chaîne de caractères contenant un ‘a’ suivi de zéro ou plusieurs ‘b’.

Exemple:

check("ac") -> Pas de correspondance!
check("a") -> Une correspondance trouvée!
check("ab") -> Une correspondance trouvée!
check("abb") -> Une correspondance trouvée!
Solution:

import re

def check(str):
    motif = '^a(b*)$'
    if re.search(motif, str):
        return 'Une correspondance trouvée!'
    else:
        return('Pas de correspondance!')

print(check("ac"))
print(check("a"))
print(check("ab"))
print(check("abb"))

Sortie:

Pas de correspondance!
Une correspondance trouvée!
Une correspondance trouvée!
Une correspondance trouvée!
 

Exercice 3:

Écrivez un programme Python qui fait correspondre une chaîne de caractères contenant un ‘a’ suivi d’un ou plusieurs ‘b’.

Exemple:

check("ac") -> Pas de correspondance!
check("a") -> Pas de correspondance!
check("ab") -> Une correspondance trouvée!
check("abc") -> Une correspondance trouvée!
Solution:

import re

def check(str):
    motif = 'ab+?'
    if re.search(motif, str):
        return 'Une correspondance trouvée!'
    else:
        return('Pas de correspondance!')

print(check("ac"))
print(check("a"))
print(check("ab"))
print(check("abc"))

Sortie:

Pas de correspondance!
Pas de correspondance!
Une correspondance trouvée!
Une correspondance trouvée!
 

Exercice 4:

Écrivez un programme Python qui fait correspondre une chaîne de caractères contenant un ‘a’ suivi de zéro ou d’un ‘b’.

Exemple:

check("a") -> Une correspondance trouvée!
check("b") -> Pas de correspondance!
check("ac") -> Une correspondance trouvée!
check("ab") -> Une correspondance trouvée!
check("aab") -> Une correspondance trouvée!
Solution:

import re

def check(str):
    motif = 'ab?'
    if re.search(motif, str):
        return 'Une correspondance trouvée!'
    else:
        return('Pas de correspondance!')

print(check("a"))
print(check("b"))
print(check("ac"))
print(check("ab"))
print(check("aab"))

Sortie:

Une correspondance trouvée!
Pas de correspondance!
Une correspondance trouvée!
Une correspondance trouvée!
Une correspondance trouvée!
 

Exercice 5:

Écrivez un programme Python qui fait correspondre une chaîne de caractères avec un ‘a’ suivi de trois ‘b’.

Exemple:

check("a") -> Pas de correspondance!
check("ac") -> Pas de correspondance!
check("ab") -> Pas de correspondance!
check("abbb") -> Une correspondance trouvée!
check("abbbbbbbb") -> Une correspondance trouvée!
Solution:

import re

def check(str):
    motif = 'ab{3}?'
    if re.search(motif, str):
        return 'Une correspondance trouvée!'
    else:
        return('Pas de correspondance!')

print(check("a"))
print(check("ac"))
print(check("ab"))
print(check("abbb"))
print(check("abbbbbbbb"))

Sortie:

Pas de correspondance!
Pas de correspondance!
Pas de correspondance!
Une correspondance trouvée!
Une correspondance trouvée!
 

Exercice 6:

Écrivez un programme Python qui fait correspondre une chaîne de caractères contenant un ‘a’ suivi de deux ou trois ‘b’.

Exemple:

check("a") -> Pas de correspondance!
check("ac") -> Pas de correspondance!
check("abb") -> Une correspondance trouvée!
check("abbb") -> Une correspondance trouvée!
check("abbbbbbbb") -> Une correspondance trouvée!
Solution:

import re

def check(str):
    motif = 'ab{2,3}?'
    if re.search(motif, str):
        return 'Une correspondance trouvée!'
    else:
        return('Pas de correspondance!')

print(check("a"))
print(check("ac"))
print(check("abb"))
print(check("abbb"))
print(check("abbbbbbbb"))

Sortie:

Pas de correspondance!
Pas de correspondance!
Une correspondance trouvée!
Une correspondance trouvée!
Une correspondance trouvée!
 

Exercice 7:

Écrire un programme Python pour trouver des séquences de lettres minuscules reliées par un underscore ‘_’.

Exemple:

check("abc_abc") -> Une correspondance trouvée!
check("Aab_abc") -> Pas de correspondance!
check("ABC_ABC") -> Pas de correspondance!
check("abb") -> Pas de correspondance!
Solution:

import re

def check(str):
    motif = '^[a-z]+_[a-z]+$'
    if re.search(motif, str):
        return 'Une correspondance trouvée!'
    else:
        return('Pas de correspondance!')

print(check("abc_abc"))
print(check("Aab_abc"))
print(check("ABC_ABC"))
print(check("abb"))

Sortie:

Une correspondance trouvée!
Pas de correspondance!
Pas de correspondance!
Pas de correspondance!
 

Exercice 8:

Ecrivez un programme Python pour trouver les séquences d’une lettre majuscule suivie de lettres minuscules.

Exemple:

check("Abc") -> Une correspondance trouvée!
check("AbCd") -> Une correspondance trouvée!
check("ABC") -> Pas de correspondance!
check("abc") -> Pas de correspondance!
Solution:

import re

def check(str):
    motif = '[A-Z]+[a-z]+$'
    if re.search(motif, str):
        return 'Une correspondance trouvée!'
    else:
        return('Pas de correspondance!')

print(check("Abc"))
print(check("AbCd"))
print(check("ABC"))
print(check("abc"))

Sortie:

Une correspondance trouvée!
Une correspondance trouvée!
Pas de correspondance!
Pas de correspondance!
 

Exercice 9:

Écrivez un programme Python qui fait correspondre une chaîne de caractères avec un ‘a’ suivi de tout ce qui se termine par ‘b’.

Exemple:

check("aaa") -> Pas de correspondance!
check("abc") -> Pas de correspondance!
check("acb") -> Une correspondance trouvée!
Solution:

import re

def check(str):
    motif = 'a.*?b$'
    if re.search(motif, str):
        return 'Une correspondance trouvée!'
    else:
        return('Pas de correspondance!')

print(check("aaa"))
print(check("abc"))
print(check("acb"))

Sortie:

Pas de correspondance!
Pas de correspondance!
Une correspondance trouvée!
 

Exercice 10:

Écrire un programme Python qui fait correspondre un mot au début d’une chaîne de caractères.

Exemple:

check("hello world") -> Une correspondance trouvée!
check(" hello world") -> Pas de correspondance!
check("=> hello world") -> Pas de correspondance!
Solution:

import re

def check(str):
    motif = '^\w+'
    if re.search(motif, str):
        return 'Une correspondance trouvée!'
    else:
        return('Pas de correspondance!')

print(check("hello world"))
print(check(" hello world"))
print(check("=> hello world"))

Sortie:

Une correspondance trouvée!
Pas de correspondance!
Pas de correspondance!
 

Éditeur de code Python: Testez votre code en ligne!


 

QCM Python

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *