在德语文本中,变音符号(ä,ü,ö)和eszett(ß)是常规字母,但它们似乎不被\w
特殊字符覆盖:
In [1]: re.match('(\w+)', 'Straße').groups()
Out[1]: ('Stra',)
将re.UNICODE
标记传递给re.match
并不会改变任何内容。
有没有更好的方法来匹配除[a-zA-ZäüöÄÜÖß]+
以外的完整单词?
答案 0 :(得分:6)
由于您使用的是python 2,因此需要使用unicode字符串:
print re.match(ur'(\w+)',u'Straße',re.UNICODE).groups()[0]
Straße