如何找出哪些字符被定义为给定语言环境的字母数字

时间:2012-03-11 04:00:39

标签: python regex locale

因此,使用python正则表达式匹配,我们有\ w和其他受re.LOCALE标志影响的含义:

  

\ W

     

如果未指定LOCALE和UNICODE标志,则匹配any   字母数字字符和下划线;这相当于   设置[a-zA-Z0-9_]。使用LOCALE,它将匹配设置[0-9_]加上   任何字符都被定义为当前的字母数字   区域设置。

所以我们想找出哪些字符被定义为给定语言环境的字母数字 - 比如说我们做了'locale -a'并且我们有一个语言环境列表,并希望找到所列出的语言环境之一的信息系统。任何快速查找信息的方法:python代码片段或单行,shell命令或某处的参考资料。

1 个答案:

答案 0 :(得分: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'
>>>