如何将变音符号与正则表达式匹配?
How to match umlauts with regular expressions?
在德语文本中,变音符号 (ä, ü, ö) 和 eszett (ß) 是常规字母,但它们似乎没有包含在 \w
特殊字符中:
In [1]: re.match('(\w+)', 'Straße').groups()
Out[1]: ('Stra',)
将 re.UNICODE
标志传递给 re.match
不会改变任何内容。
有没有比 [a-zA-ZäüöÄÜÖß]+
更好的匹配完整单词的方法?
由于你使用的是python2,你需要使用unicode字符串:
print re.match(ur'(\w+)',u'Straße',re.UNICODE).groups()[0]
Straße
在德语文本中,变音符号 (ä, ü, ö) 和 eszett (ß) 是常规字母,但它们似乎没有包含在 \w
特殊字符中:
In [1]: re.match('(\w+)', 'Straße').groups()
Out[1]: ('Stra',)
将 re.UNICODE
标志传递给 re.match
不会改变任何内容。
有没有比 [a-zA-ZäüöÄÜÖß]+
更好的匹配完整单词的方法?
由于你使用的是python2,你需要使用unicode字符串:
print re.match(ur'(\w+)',u'Straße',re.UNICODE).groups()[0]
Straße