Как мне сделать эти Perl регулярные выражения Python совместимыми? - PullRequest
0 голосов
/ 11 января 2010

У меня есть эти две строки в старом скрипте Perl. Когда я пишу эквивалент Python, я получаю всевозможные ошибки, такие как valueerror: invalid \x escape и прочее о кодировании.

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

Что мне нужно сделать, чтобы они работали в Python?

Ответы [ 2 ]

1 голос
/ 11 января 2010

Я не слишком хорош с регулярным выражением 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)
0 голосов
/ 11 января 2010

Для проблем кодирования, если вы хотите поместить символы Unicode непосредственно в ваш источник, вам нужно убедиться, что интерпретатор Python знает, какова ваша кодировка файла. См:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...