Python Language Escapar de personajes especiales


Ejemplo

Los caracteres especiales (como los corchetes de la clase de caracteres [ y ] continuación) no se corresponden literalmente:

match = re.search(r'[b]', 'a[b]c')
match.group()
# Out: 'b'

Al escapar de los caracteres especiales, pueden emparejarse literalmente:

match = re.search(r'\[b\]', 'a[b]c')
match.group()
# Out: '[b]'

La función re.escape() se puede utilizar para hacer esto por usted:

re.escape('a[b]c')
# Out: 'a\\[b\\]c'
match = re.search(re.escape('a[b]c'), 'a[b]c')
match.group()
# Out: 'a[b]c'

La función re.escape() escapa a todos los caracteres especiales, por lo que es útil si está componiendo una expresión regular basada en la entrada del usuario:

username = 'A.C.'  # suppose this came from the user
re.findall(r'Hi {}!'.format(username), 'Hi A.C.! Hi ABCD!')
# Out: ['Hi A.C.!', 'Hi ABCD!']
re.findall(r'Hi {}!'.format(re.escape(username)), 'Hi A.C.! Hi ABCD!')
# Out: ['Hi A.C.!']