匹配任何unicode字母?
答
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>
参见:http://stackoverflow.com/questions/1832893/python-regex-matching-unicode-properties – 2011-06-11 07:08:54
你知道''é''[不是2.x的一个'unicode' ](http://farmdev.com/talks/unicode/),对吧? – 2011-06-11 07:46:09
尝试'r.match(u'é')' – 2011-06-11 07:55:20