在正则表达式中使用unicode char代码

时间:2015-09-15 16:38:56

标签: python regex unicode

简化我的任务,假设我想在某个网页中找到用希伯来语写的任何单词。 所以我知道希伯来字符代码是U+05D0U+05EA。 我想写一些类似的东西:

expr = "[\u05D0-\u05EA]+"
url = "https://en.wikipedia.org/wiki/Category:Countries"    

web_handle = urllib2.urlopen(url)
website_text = website_handle.read()    
matches = sre.findall(exp, website_text)
for item in matches:
    print item

我期望的输出是:

  

עברית

但是输出的是很多中国/日本人的角色。

2 个答案:

答案 0 :(得分:1)

您可以在字符类中使用python中unicode的标准表示:

re.findall([\u05D0-\u05EA], website_text,re.U)

答案 1 :(得分:0)

表达式应为:

expr = u"[\u05D0-\u05EA]+"

注意开头的'u'。