2012-03-11 9 views
6

の英数字のように定義されている文字を見つけるためにだから、Pythonの正規表現のマッチングで、私たちは\ワットとre.LOCALEフラグの影響を受け、他の意味を持っている:どのように指定されたロケール

ワット\

LOCALEフラグとUNICODEフラグが指定されていない場合は、 の英数字とアンダースコアに一致します。これは [a-zA-Z0-9_]と同じです。 LOCALEの場合、現在の ロケールの英数字として定義されている文字は、[0-9_] + と一致します。

だから私たちは与えられたのロケールで英数字として定義されているものの文字を知りたい - 私たちは「ロケール-a」やったと言うと、私たちは、ロケールのリストを持っている、と記載されているのいずれかの情報を見つけたいですシステム上のロケール。情報をすばやく見つける方法は、Pythonコードスニペットまたは1ライナー、シェルコマンド、または参考資料などがあります。

答えて

5

string.lettersを使用してください。

例:

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

感謝。うまく動作します。 –

関連する問題