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

如何用希伯来语搜索正则表达式(Python 2.7),python,regex,python-2.7,character-encoding,hebrew,Python,Regex,Python 2.7,Character Encoding,Hebrew,我想用希伯来语找到一些关于re的东西: page = urlopen(url) page_content = page.read() founds = re.findall("מילים בעברית", page_content) 错误是: 语法错误:第12行的文件C:/Users/User/untitled/milimBeIvrit.py中的非ASCII字符'\xec',但未声明编码;有关详细信息,请参见。您不能说这是Python 2还是Python 3。。。。如果是Python2,那么您

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

page = urlopen(url)
page_content = page.read()
founds = re.findall("מילים בעברית", page_content)
错误是:
语法错误:第12行的文件C:/Users/User/untitled/milimBeIvrit.py中的非ASCII字符'\xec',但未声明编码;有关详细信息,请参见。您不能说这是Python 2还是Python 3。。。。如果是Python2,那么您必须使用编码和解码,并且没有本地Unicode

然而在Python3中,我会这样做。。。。 对不起,我不能很好地用希伯来语-小阿拉伯例子代替。。。。但原则是一样的

import re
sentance='المتساقطة، تحت. من كردة مسارح قُدُماً ضرب, لان بشكل أكثر'
fs=re.search('لان', sentance)
if fs:
   print("Found it")
我不知道阿拉伯语的表达方式是什么——我是从中提取的

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

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


我看没问题……

是的,
re
可以处理
utf-8
字符串

如果需要,可以更改默认编码(但不必)

我的默认编码是ascii,以下代码仍然有效:

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

>>> for r in results:
...     print r

א
א
א

注意到,<<代码> UTF8处理有一些问题,因此可以考虑使用IDE,例如. 您是否尝试过按照链接的PEP中的建议声明编码?我尝试过这样做,代码现在运行,但实际上不起作用:(请检查是否对您有效。ascii编码不起作用。我如何更改它?因此您还有其他问题。相应地更新您的问题/问另一个问题。因为您可以看到这对我非常有效。

>>> a='אבא בא'
>>> results = re.findall("א", a)
>>> results
['\xd7\x90', '\xd7\x90', '\xd7\x90']
>>> for r in results:
...     print r

א
א
א