我很惊讶我不能在regexp中匹配德语元音变音。我尝试了几种方法,大多数都是设置区域设置,但到目前为止都没有效果。
locale.setlocale(locale.LC_ALL, 'de_DE.UTF-8')
re.findall(r'\w+', 'abc def g\xfci jkl', re.L)
re.findall(r'\w+', 'abc def g\xc3\xbci jkl', re.L)
re.findall(r'\w+', 'abc def güi jkl', re.L)
re.findall(r'\w+', u'abc def güi jkl', re.L)
这些版本中没有一个与\w+
正确匹配的umlaut-u(ü)。同时删除re.L
标志或在模式字符串前面加上u
(使其成为unicode)也没有帮助我。
有什么想法吗?如何正确使用标志re.L
?
在我的例子中,
\S
比\w
给出了更好的结果,加上将文件保存为utf-8,再加上使用re.UNICODE
您是否尝试使用
re.UNICODE
标志,如doc中所述?快速搜索指向这个thread给出了一些解释:
相关问题 更多 >
编程相关推荐