Abbinare qualsiasi lettera unicode?
-
26-10-2019 - |
Domanda
NET è possibile utilizzare \p{L}
per adattarsi a qualsiasi lettera, come posso fare la stessa cosa in Python? Vale a dire, voglio adattarsi a qualsiasi maiuscole, minuscole, e le lettere accentate.
Soluzione
modulo re
di Python non supporta ancora le proprietà Unicode. Ma si può compilare il regex utilizzando il flag re.UNICODE
, e poi la classe di caratteri \w
stenografia sarà abbinare le lettere Unicode, anche.
Dal \w
sarà anche corrispondere le cifre, è necessario quindi sottrarre quelli dalla classe del personaggio, insieme alla sottolineatura:
[^\W\d_]
corrisponderà qualsiasi lettera 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>
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow