Python re.escape()-Methode
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)
# 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())
# 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)
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")
# 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*
Andere Erweiterungen
Python-re-Modul