如何使这些Perl正则表达式与Python兼容?

时间:2010-01-10 23:26:52

标签: python regex perl

我在旧的Perl脚本中有这两行。当我编写Python等价物时,我会得到各种错误,例如valueerror:无效\x转义,以及有关编码的内容。

$line =~ s/[^\x{8}-\x{7B}]/ /ig;
$line =~ s/(Û|²|°|±|É|¹|Í)/ /g;

要让他们使用Python,我需要做些什么?

2 个答案:

答案 0 :(得分:1)

我对Perl正则表达式并不太好,但我想我可能已经解决了它:

invalid_range = re.compile(r'[^\x08-\x7B]', re.I)
invalid_unicode = re.compile(ur'(Û|²|°|±|É|¹|Í)')
line = re.sub(invalid_range , '', line)
line = re.sub(invalid_unicode, '', line)

答案 1 :(得分:0)

对于编码问题,如果要直接在源代码中放置Unicode字符,则需要确保Python解释器知道您的文件编码是什么。参见: