Python正则表达式大写unicode字

时间:2012-09-26 01:54:20

标签: python regex

我需要找到许多语言的缩写文本。目前regex是:

import regex as re
pattern = re.compile('(?:[\w]\.)+', re.UNICODE | re.MULTILINE | re.DOTALL | re.VERSION1)
pattern.findall("U.S.A. u.s.a.")

我在结果中不需要 u.s.a ,我只需要大写文字。 [A-Z] 除英语外无法使用任何语言。

1 个答案:

答案 0 :(得分:11)

您需要使用Unicode字符属性才能匹配它们。 re不支持字符属性,但regex支持。

>>> regex.findall(ur'\p{Lu}', u'ÜìÑ')
[u'\xdc', u'\xd1']