小编典典

匹配任何unicode字母?

python

在.net中,您可以使用它\p{L}来匹配任何字母,如何在Python中进行匹配?即,我想匹配任何大写,小写和带重音的字母。


阅读 164

收藏
2020-12-20

共1个答案

小编典典

Python的re模块尚不支持Unicode属性。但是您可以使用该re.UNICODE标志编译正则表达式,然后字符类速记\w也将与Unicode字母匹配。

由于\w还将匹配数字,因此您需要从字符类中减去数字以及下划线:

[^\W\d_]

将匹配任何Unicode字母。

>>> import re
>>> r = re.compile(r'[^\W\d_]', re.U)
>>> r.match('x')
<_sre.SRE_Match object at 0x0000000001DBCF38>
>>> r.match(u'é')
<_sre.SRE_Match object at 0x0000000002253030>
2020-12-20