Perl和其他一些当前的正则表达式引擎支持正则表达式中的Unicode属性,比如类别。例如,在Perl中,你可以使用\p{Ll}
来匹配任意的小写字母,或者使用p{Zs}
来匹配任何空格分隔符。我在Python的2.x和3.x代码行中都看不到对此的支持(遗憾的是)。有没有人知道有什么好的策略可以达到类似的效果?欢迎自行开发的解决方案。
发布于 2009-12-03 06:22:10
你有没有尝试过Ponyguruma,一个绑定到Oniguruma正则表达式引擎的Python?在该引擎中,您可以简单地输入\p{Armenian}
来匹配亚美尼亚字符。\p{Ll}
或\p{Zs}
也可以。
发布于 2010-12-01 00:37:21
Unicode模块(标准re
模块的替代模块)支持使用\p{}
语法的regex代码点属性。
发布于 2010-11-12 08:23:17
您可以在每个字符上费力地使用unicodedata:
import unicodedata
def strip_accents(x):
return u''.join(c for c in unicodedata.normalize('NFD', x) if unicodedata.category(c) != 'Mn')
https://stackoverflow.com/questions/1832893
复制相似问题