匹配任何unicode字母?

发布于 2021-01-29 19:31:39

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

关注者
0
被浏览
50
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    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>
    


知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看