Utiliser les expressions régulières
Dans cette étape, vous apprendrez à utiliser les expressions régulières en Python pour identifier les caractères spéciaux. Les expressions régulières sont des outils puissants pour la correspondance de motifs dans les chaînes de caractères.
Tout d'abord, créons un script Python nommé regex_special_characters.py
dans votre répertoire ~/project
en utilisant l'éditeur VS Code.
## Content of regex_special_characters.py
import re
def find_special_characters(text):
special_characters = re.findall(r"[^a-zA-Z0-9\s]", text)
return special_characters
text = "Hello! This is a test string with some special characters like @, #, and $."
special_chars = find_special_characters(text)
print("Special characters found:", special_chars)
Voici ce que fait ce code :
import re
: Cette ligne importe le module re
, qui fournit des opérations d'expressions régulières.
def find_special_characters(text):
: Cela définit une fonction qui prend une chaîne de caractères en entrée et trouve tous les caractères spéciaux dans celle-ci.
special_characters = re.findall(r"[^a-zA-Z0-9\s]", text)
: Cette ligne utilise la fonction re.findall()
pour trouver tous les caractères dans la chaîne d'entrée qui ne sont pas alphanumériques (a - z, A - Z, 0 - 9) ou des espaces blancs (\s
). Le [^...]
est une classe de caractères négative, ce qui signifie qu'elle correspond à n'importe quel caractère n'étant pas dans l'ensemble spécifié.
return special_characters
: Cette ligne retourne une liste des caractères spéciaux trouvés.
- Les lignes suivantes définissent une chaîne d'exemple, appellent la fonction pour trouver les caractères spéciaux dans celle-ci et affichent le résultat.
Maintenant, exécutons le script. Ouvrez votre terminal et exécutez la commande suivante :
python regex_special_characters.py
Vous devriez voir la sortie suivante :
Special characters found: ['!', '@', ',', '#', '$', '.']
Cette sortie montre la liste des caractères spéciaux trouvés dans la chaîne d'entrée en utilisant l'expression régulière.
Modifions le script pour utiliser une autre expression régulière qui ne correspond qu'aux caractères de ponctuation.
Ouvrez regex_special_characters.py
dans VS Code et modifiez-le comme suit :
## Modified content of regex_special_characters.py
import re
import string
def find_punctuation_characters(text):
punctuation_chars = re.findall(r"[" + string.punctuation + "]", text)
return punctuation_chars
text = "Hello! This is a test string with some punctuation like ., ?, and !."
punctuation = find_punctuation_characters(text)
print("Punctuation characters found:", punctuation)
Dans ce script modifié, nous avons utilisé string.punctuation
pour définir l'ensemble des caractères de ponctuation à correspondre.
Exécutez le script à nouveau :
python regex_special_characters.py
Vous devriez voir la sortie suivante :
Punctuation characters found: ['!', '.', '?', '!']
Cette sortie montre la liste des caractères de ponctuation trouvés dans la chaîne d'entrée en utilisant l'expression régulière et la constante string.punctuation
.
L'utilisation des expressions régulières offre un moyen flexible et puissant d'identifier et d'extraire les caractères spéciaux des chaînes de caractères en Python.