我有一个带有组合变音符的UTF8字符串,我想用\w
正则表达式序列匹配它。 它可以匹配具有重音的字符,但不能匹配带有组合变音符的拉丁字符。
>>> re.match("a\w\w\wz", u"aoooz", re.UNICODE)
<_sre.SRE_Match object at 0xb7788f38>
>>> print u"ao\u00F3oz"
aoóoz
>>> re.match("a\w\w\wz", u"ao\u00F3oz", re.UNICODE)
<_sre.SRE_Match object at 0xb7788f38>
>>> re.match("a\w\w\wz", u"aoo\u0301oz", re.UNICODE)
>>> print u"aoo\u0301oz"
aóooz
(看起来SO的markdown处理器在上面的组合变音符上有些问题,但是最后一行有一个 ́)
有没有办法用\w
匹配组合变音符?我不想规范化文本,因为这个文本是从文件名中获取的,而且我不想进行整个“文件名Unicode规范化”操作。这是Python 2.5。