我有一个包含变音符号的 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 降价处理器在上面的组合变音符号方面遇到了问题,但最后一行有一个 ́)
有没有办法将变音符号与 结合起来\w
?我不想规范化文本,因为这个文本来自文件名,我还不想做一个完整的“文件名 unicode 规范化”。这是 Python 2.5。