2012-03-11 11 views
6

Więc z dopasowania python regex, mamy sens \ w i innych dotkniętych flaga re.LOCALE:Jak dowiedzieć się, które znaki są zdefiniowane jako alfanumerycznych dla danej lokalizacji

\ w

Gdy nie są określone flagi LOCALE i UNICODE, pasuje do dowolnego znaku alfanumerycznego o wartości i znaku podkreślenia; jest to odpowiednik zestawu [a-zA-Z0-9_]. Przy LOCALE będzie pasować do zestawu [0-9_] plus niezależnie od tego, jakie znaki są zdefiniowane jako alfanumeryczne dla bieżącego ustawienia narodowego .

Dlatego chcemy, aby dowiedzieć się, jakie znaki są zdefiniowane jako alfanumeryczny danej lokalizacji - mówią zrobiliśmy „locale -a” i mamy listę lokalizacjach, a chcą znaleźć informacje dla jednej z wymienionych ustawienia regionalne w systemie. Dowolna metoda szybkiego znalezienia informacji: fragment kodu Pythona lub jednolinijkowy, polecenie powłoki lub może gdzieś materiał referencyjny.

Odpowiedz

5

Użyj string.letters.

przykład:

>>> 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

Dzięki. Działa dobrze. –

Powiązane problemy