正则表达式不喜欢国际字符

时间:2012-09-22 07:00:18

标签: python regex

  

可能重复:
   matching unicode characters in python regular expressions

使用

re.findall(r'\w+', ip)
Fältskog上的

会返回Fltskog。我尝试使用字符串和unicode,但同样如此。结果

2 个答案:

答案 0 :(得分:5)

您需要设置appropriate flags(在这种情况下为UNICODE,告诉re \w的含义):

re.findall(r'\w+', ip, re.UNICODE)

# EDIT

Python 2.7.3 (default, Aug  1 2012, 05:16:07) 
[GCC 4.6.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import re
>>> re.findall(r"\w+", u"Fältskog", re.UNICODE)
[u'F\xe4ltskog']
>>> 

答案 1 :(得分:0)

re.findall(r'[åäöÅÄÖ\ w] +',ip)

如果您想要更直观,也可以这样做。