Método Python re.escape()
re.escape()es Pythonreutilizado en el módulo paraEscapar caracteres especiales de expresiones regularesla función.
Escapará todos los caracteres especiales de expresiones regulares en la cadena (como.、*、?etc.) para que sean tratados como caracteres normales.
Definición de términos: escapeSignifica escapar, evadir.
Sintaxis básica y parámetros
Formato de sintaxis
re.escape(string)
Descripción de parámetros
- string: La cadena a escapar
Descripción de la función
- Valor de retorno: Devuelve la cadena escapada.
Ejemplos
Ejemplo 1: Uso básico
Ejemplos
import re
# Escapar cadenas que contienen caracteres especiales
text = "example.com?foo=1"
result = re.escape(text)
print("Original:", text)
print("Después de escapar:", result)
# Escapar cadenas que contienen caracteres especiales
text = "example.com?foo=1"
result = re.escape(text)
print("Original:", text)
print("Después de escapar:", result)
Resultado esperado de la ejecución:
原始: example.com?foo=1 转义后: example\.com\?foo\=1
Ejemplo 2: Uso en la búsqueda
Ejemplos
import re
# Buscar una cadena que contenga un punto (búsqueda literal, no regex)
text = "Ruta de archivo: C:\\Users\\test.txt"
# Escapar barras invertidas y puntos
pattern = re.escape("C:\\Users\\test.txt")
result = re.search(pattern, text)
if result:
print("Encontrado:", result.group())
# Buscar una cadena que contenga un punto (búsqueda literal, no regex)
text = "Ruta de archivo: C:\\Users\\test.txt"
# Escapar barras invertidas y puntos
pattern = re.escape("C:\\Users\\test.txt")
result = re.search(pattern, text)
if result:
print("Encontrado:", result.group())
Resultado esperado de la ejecución:
找到: C:\Users\test.txt
Ejemplo 3: Comparación entre escapar y no escapar
Ejemplos
import re
text = "price: $100"
# Sin escapar: $ es un carácter especial en regex (fin de línea)
result1 = re.findall(r'$100', text)
# Después de escapar: $ se trata como un carácter normal
result2 = re.findall(re.escape('$100'), text)
print("Sin escapar:", result1)
print("Después de escapar:", result2)
text = "price: $100"
# Sin escapar: $ es un carácter especial en regex (fin de línea)
result1 = re.findall(r'$100', text)
# Después de escapar: $ se trata como un carácter normal
result2 = re.findall(re.escape('$100'), text)
print("Sin escapar:", result1)
print("Después de escapar:", result2)
Resultado esperado de la ejecución:
不转义: [] 转义后: ['$100']
Ejemplo 4: Manejo de la entrada del usuario
Ejemplos
import re
# Caracteres especiales que el usuario podría ingresar
user_input = "python*"
text = "python* is great"
# Escapar la entrada del usuario antes de buscar
pattern = re.escape(user_input)
result = re.search(pattern, text)
print("Resultado de la búsqueda:", result.group() if result else "No encontrado")
# Caracteres especiales que el usuario podría ingresar
user_input = "python*"
text = "python* is great"
# Escapar la entrada del usuario antes de buscar
pattern = re.escape(user_input)
result = re.search(pattern, text)
print("Resultado de la búsqueda:", result.group() if result else "No encontrado")
Resultado esperado de la ejecución:
查找结果: python*
Otras extensiones