Pregunta

En .net puedes usar \p{L} Para que coincida con cualquier carta, ¿cómo puedo hacer lo mismo en Python? A saber, quiero igualar las letras mayúsculas, minúsculas y acentuadas.

¿Fue útil?

Solución

Pitón re El módulo aún no admite las propiedades de Unicode. Pero puedes compilar tu regex usando el re.UNICODE bandera, y luego la clase taquigrafía de la clase de personaje \w también coincidirá con las letras unicode.

Ya que \w También coincidirá con los dígitos, debe restarlos de su clase de personaje, junto con el bajo:

[^\W\d_]

coincidirá con cualquier carta de Unicode.

>>> import re
>>> r = re.compile(r'[^\W\d_]', re.U)
>>> r.match('x')
<_sre.SRE_Match object at 0x0000000001DBCF38>
>>> r.match(u'é')
<_sre.SRE_Match object at 0x0000000002253030>
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top