2012-03-11 7 views
6

Así, con coincidencia de expresiones regulares de Python, tenemos el significado de \ w y otros afectados por la bandera re.LOCALE:Cómo averiguar qué caracteres se define como alfanumérica para una localidad dada

\ w

Cuando las banderas LOCALE y UNICODE no están especificadas, coincide con cualquier carácter alfanumérico y el guión bajo; esto es equivalente al conjunto [a-zA-Z0-9_]. Con LOCALE, coincidirá con el conjunto [0-9_] más , cualquiera que sea el carácter definido como alfanumérico para la configuración regional actual .

por lo que queremos averiguar qué caracteres se define como alfanumérica para una localidad dada - decir que hicimos 'locale -a' y tenemos una lista de locales y queremos encontrar la información para uno de los enumerados configuraciones regionales en el sistema. Cualquier método para encontrar la información rápidamente: un fragmento de código python o una línea, comando de shell o tal vez material de referencia en alguna parte.

Respuesta

5

Use string.letters.

Ejemplo:

>>> import locale 
>>> import string 
>>> locale.setlocale(locale.LC_ALL, 'en_US.UTF-8') 
'en_US.UTF-8' 
>>> string.letters 
'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz' 
>>> locale.setlocale(locale.LC_ALL, 'de_DE') 
'de_DE' 
>>> string.letters 
'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz\xaa\xb5\xba\xc0\xc1\xc2\xc3\xc4\xc5\xc6\xc7\xc8\xc9\xca\xcb\xcc\xcd\xce\xcf\xd0\xd1\xd2\xd3\xd4\xd5\xd6\xd8\xd9\xda\xdb\xdc\xdd\xde\xdf\xe0\xe1\xe2\xe3\xe4\xe5\xe6\xe7\xe8\xe9\xea\xeb\xec\xed\xee\xef\xf0\xf1\xf2\xf3\xf4\xf5\xf6\xf8\xf9\xfa\xfb\xfc\xfd\xfe\xff' 
>>> 
+0

Gracias. Funciona bien –

Cuestiones relacionadas