Python re.escape()-Methode

Python re 模块Python-re-Modul


re.escape()ist PythonreModul, das zumEscapen von Sonderzeichen regulärer Ausdrücke verwendet wirdFunktion.

Es werden alle Sonderzeichen regulärer Ausdrücke in der Zeichenkette genommen (wie z. B..、*、?usw.) und sie escapen, sodass sie als gewöhnliche Zeichen behandelt werden.

Wortdefinitionen: escapebedeutet "escape" und "flee".


Grundlegende Syntax und Parameter

Syntaxformat

re.escape(string)

Parameterbeschreibung

  • string: Die Zeichenkette, die escapet werden soll

Funktionsbeschreibung

  • Rückgabewert: Gibt die maskierte Zeichenkette zurück.

Beispiele

Beispiel 1: Grundlegende Verwendung

Beispiel

import re

# Eine Zeichenkette mit Sonderzeichen maskieren
text = "example.com?foo=1"

result = re.escape(text)

print("Original:", text)
print("Maskiert:", result)

Erwartete Ausgabe:

原始: example.com?foo=1
转义后: example\.com\?foo\=1

Beispiel 2: Verwendung in der Suche

Beispiel

import re

# Nach einer Zeichenkette suchen, die einen Punkt enthält (wörtliche Suche, kein Regex)
text = "Dateipfad: C:\\Users\\test.txt"

# Backslash und Punkt maskieren
pattern = re.escape("C:\\Users\\test.txt")

result = re.search(pattern, text)

if result:
    print("Gefunden:", result.group())

Erwartete Ausgabe:

找到: C:\Users\test.txt

Beispiel 3: Maskierung und Nicht-Maskierung vergleichen

Beispiel

import re

text = "Preis: $100"

# Ohne Maskierung - $ ist ein Sonderzeichen in Regex (Zeilenende)
result1 = re.findall(r'$100', text)

# Nach Maskierung - $ wird als gewöhnliches Zeichen behandelt
result2 = re.findall(re.escape('$100'), text)

print("Ohne Maskierung:", result1)
print("Maskiert:", result2)

Erwartete Ausgabe:

不转义: []
转义后: ['$100']

Beispiel 4: Umgang mit Benutzereingaben

Beispiel

import re

# Sonderzeichen, die der Benutzer eingeben kann
user_input = "python*"

text = "python* ist großartig"

# Benutzereingabe vor der Suche escapen
pattern = re.escape(user_input)
result = re.search(pattern, text)

print("Suchergebnis:", result.group() if result else "Nicht gefunden")

Erwartete Ausgabe:

查找结果: python*

Python re 模块Python-re-Modul

Andere Erweiterungen