Méthode Python re.escape()
re.escape()est Pythonremodule utilisé pouréchapper les caractères spéciaux des expressions régulièresfonction.
Il prendra tous les caractères spéciaux des expressions régulières dans la chaîne (tels que.、*、?etc.) et les échappera, ce qui les fera traiter comme des caractères ordinaires.
Définitions de mots: escapesignifie « échapper » et « fuir ».
Syntaxe de base et paramètres
Format de syntaxe
re.escape(string)
Description du paramètre
- string: La chaîne à échapper
Description de la fonction
- Valeur de retour: Renvoie la chaîne échappée.
Exemples
Exemple 1 : Utilisation de base
Exemple
import re
# Échapper une chaîne contenant des caractères spéciaux
text = "example.com?foo=1"
result = re.escape(text)
print("Original :", text)
print("Échappé :", result)
# Échapper une chaîne contenant des caractères spéciaux
text = "example.com?foo=1"
result = re.escape(text)
print("Original :", text)
print("Échappé :", result)
Sortie attendue :
原始: example.com?foo=1 转义后: example\.com\?foo\=1
Exemple 2 : Utilisation dans une recherche
Exemple
import re
# Rechercher une chaîne contenant un point (recherche littérale, pas une regex)
text = "Chemin du fichier : C:\\Users\\test.txt"
# Échapper l'antislash et le point
pattern = re.escape("C:\\Users\\test.txt")
result = re.search(pattern, text)
if result:
print("Trouvé :", result.group())
# Rechercher une chaîne contenant un point (recherche littérale, pas une regex)
text = "Chemin du fichier : C:\\Users\\test.txt"
# Échapper l'antislash et le point
pattern = re.escape("C:\\Users\\test.txt")
result = re.search(pattern, text)
if result:
print("Trouvé :", result.group())
Sortie attendue :
找到: C:\Users\test.txt
Exemple 3 : Comparer l'échappement et le non-échappement
Exemple
import re
text = "prix : $100"
# Sans échappement - $ est un caractère spécial dans une expression régulière (fin de ligne)
result1 = re.findall(r'$100', text)
# Après échappement - $ est traité comme un caractère ordinaire
result2 = re.findall(re.escape('$100'), text)
print("Sans échappement :", result1)
print("Avec échappement :", result2)
text = "prix : $100"
# Sans échappement - $ est un caractère spécial dans une expression régulière (fin de ligne)
result1 = re.findall(r'$100', text)
# Après échappement - $ est traité comme un caractère ordinaire
result2 = re.findall(re.escape('$100'), text)
print("Sans échappement :", result1)
print("Avec échappement :", result2)
Sortie attendue :
不转义: [] 转义后: ['$100']
Exemple 4 : Gestion de la saisie utilisateur
Exemple
import re
# Caractères spéciaux que l'utilisateur peut saisir
user_input = "python*"
text = "python* is great"
# Échapper la saisie utilisateur avant la recherche
pattern = re.escape(user_input)
result = re.search(pattern, text)
print("Résultat de la recherche:", result.group() if result else "Non trouvé")
# Caractères spéciaux que l'utilisateur peut saisir
user_input = "python*"
text = "python* is great"
# Échapper la saisie utilisateur avant la recherche
pattern = re.escape(user_input)
result = re.search(pattern, text)
print("Résultat de la recherche:", result.group() if result else "Non trouvé")
Sortie attendue :
查找结果: python*
Autres extensions
Module re de Python