[pyar] Backslash en cadenas

Tordek kedrot en gmail.com
Dom Feb 11 18:13:18 ART 2018


r"^\\" detecta cadenas que empiecen (^) con \. Si bien r'' se usa para
que `\` no tenga comportamiento especial [1], tenés 2 contextos: el
intérprete de python (que si no usaras r'' querría convertir \\ en \),
y el intérprete de las regex, que le agrega su propio significado a \
(por ejemplo, \( no es una secuencia de escape en py, pero en regex
significa "es un ( literal y no el comienzo de un grupo"). Por eso si
evaluás r"^\\" te va a mostrar "^\\\\" porque cada par de \ es una \
escapada en el contexto de python, pero una sola en el contexto de la
regex.

¿A qué te referís con "y no sea un salto de línea"? Si tenés una
cadena como "\n123", esa cadena _no_ empieza con \; empieza con "\n":
es un solo caracter aunque uses 2 para escribirlo. Sí empieza con \ la
cadena r"\n123" porque ahí le decís "no uses el significado especial
de \, ponela literalmente".

TL;DR: r"^\\" y r"\\$"

[1] Pero... ¿acá hay un bug en el intérprete? Probé escribir r"\" y me
tira error de sintaxis... ¿cómo hacés si querés usar r'' y que termine
en \?

2018-02-11 14:57 GMT-03:00 emanuel sandoval <davidemanuelsandoval en gmail.com>:
> Hola, me gastaría saber cómo hacer para identificar cuándo una cadena
> comienza con un backslash (\) y no sea un salto de línea. También quiero
> saber como hacerlo para identificar cuándo ese caracter está al final de una
> cadena.
>
> He intentado usar expresiones regulares tales como r"^\", y algo simares con
> los métodos de String, pero sencillamente no me funciona.
>
> Soy muy nuevo en expresiones regulares, muchas gracias.
>
> _______________________________________________
> Lista de Correo de PyAr - Python Argentina - pyar en python.org.ar
> Sitio web: http://www.python.org.ar/
>
> Para administrar la lista (o desuscribirse) entrar a
> http://listas.python.org.ar/listinfo/pyar
>
> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
> Argentina - http://www.usla.org.ar


Más información sobre la lista de distribución pyar