首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >与Unicode属性匹配的Python正则表达式

与Unicode属性匹配的Python正则表达式
EN

Stack Overflow用户
提问于 2009-12-02 21:25:41
回答 6查看 16.5K关注 0票数 66

Perl和其他一些当前的正则表达式引擎支持正则表达式中的Unicode属性,比如类别。例如,在Perl中,你可以使用\p{Ll}来匹配任意的小写字母,或者使用p{Zs}来匹配任何空格分隔符。我在Python的2.x和3.x代码行中都看不到对此的支持(遗憾的是)。有没有人知道有什么好的策略可以达到类似的效果?欢迎自行开发的解决方案。

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2009-12-03 06:22:10

你有没有尝试过Ponyguruma,一个绑定到Oniguruma正则表达式引擎的Python?在该引擎中,您可以简单地输入\p{Armenian}来匹配亚美尼亚字符。\p{Ll}\p{Zs}也可以。

票数 25
EN

Stack Overflow用户

发布于 2010-12-01 00:37:21

Unicode模块(标准re模块的替代模块)支持使用\p{}语法的regex代码点属性。

票数 69
EN

Stack Overflow用户

发布于 2010-11-12 08:23:17

您可以在每个字符上费力地使用unicodedata:

代码语言:javascript
复制
import unicodedata

def strip_accents(x):
    return u''.join(c for c in unicodedata.normalize('NFD', x) if unicodedata.category(c) != 'Mn')
票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1832893

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档