如何在希伯来语中搜索正则表达式(Python 2.7)

时间:2016-01-01 19:08:52

标签: python regex python-2.7 character-encoding hebrew

我想在希伯来语中找到一些关于re的东西:

page = urlopen(url)
page_content = page.read()
founds = re.findall("מילים בעברית", page_content)

错误是: SyntaxError:非ASCII字符' \ xec'在文件C中:/Users/User/untitled/milimBeIvrit.py在第12行,但没有声明编码;有关详细信息,请参阅http://python.org/dev/peps/pep-0263/

2 个答案:

答案 0 :(得分:3)

是的,:update可以处理re字符串。

如果您愿意,可以更改默认编码(但不必)

utf-8

我的默认编码为>>> import sys >>> import re >>> sys.getdefaultencoding() 'ascii' ,以下内容仍然有效:

ascii

要以人类可读的格式打印,请使用>>> a='אבא בא' >>> results = re.findall("א", a) >>> results ['\xd7\x90', '\xd7\x90', '\xd7\x90']

print

请注意,idle>>> for r in results: ... print r א א א 处理方面存在一些问题,因此可以考虑使用PyCharm之类的IDE。

答案 1 :(得分:2)

你没有说这是Python 2还是3 ....如果是Python 2 - 那么你将不得不使用编码和解码,而且没有原生的Unicode。

然而在Python 3中 - 我就是这样做的.... 对不起,我不能用希伯来语 - 小阿拉伯语的例子......而是相同的原则。

import re
sentance='المتساقطة، تحت. من كردة مسارح قُدُماً ضرب, لان بشكل أكثر'
fs=re.search('لان', sentance)
if fs:
   print("Found it")

我不知道阿拉伯语表达是什么 - 我从http://generator.lorem-ipsum.info/_arabic拉出来。

我必须强调 - 在Python3中Unicode文本很容易,但在Python 2中更加痛苦....

与我的阿拉伯语例子完全相同 - 使用希伯来语lore-ipsum(直到30秒前我才知道它存在)。

import re
sen2="רביעי ביולוגיה את אתה. מתן של מיזם המלצת ליצירתה, גם שכל חשמל אדריכלות למתחילים. צילום הבאים בעברית אחד בה. בדף או ריקוד מונחים לחשבון, ב הקהילה רב־לשוני זכר, וספציפיים האנציקלופדיה אל חפש. מתן אל נפלו עזרה אנתרופולוגיה."
fs=re.search('בדף',sen2)
if fs:
   print("Found it")

对我好看....