tch*_*ist 20
对于Python中的Unicode正则表达式,我强烈推荐以下内容:
regex库而不是标准库re,它不适合Unicode正则表达式..encode,那么你几乎肯定会做错事.一旦你这样做,你可以放心地编写模式,包括\w或\p{script=Latin}或 \p{alpha}和\p{lower}等,并知道这些都将做什么Unicode标准说,他们应该.我在这个答案中更详细地解释了Python Unicode正则表达式业务的所有这些业务.简短的故事是永远regex不要使用re.
对于一般的Unicode建议,我还有上一次OSCON关于Unicode正则表达式的几个讨论,除了第三个谈话之外,其中大部分都不是关于Python的,但其中大部分都是适应性的.
最后,总有这样的答案可以将对上帝(或至少是Unicode)的恐惧放在心里.
使用\ w特殊序列有什么问题?
# -*- coding: utf-8 -*-
import re
test = u"can't, Å, é, and ?ABC"
print re.findall('\w+', test, re.UNICODE)
Run Code Online (Sandbox Code Playgroud)