Méthode Python re.escape()

Python re 模块Module re de Python


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)

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())

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)

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é")

Sortie attendue :

查找结果: python*

Python re 模块Module re de Python

Autres extensions