Требуется помощь в регулярных выражениях Perl to Python - PullRequest
1 голос
/ 08 марта 2012

Я новичок в регулярных выражениях Python и не нашел достаточно информации о том, как это сделать в Python

Perl:

my $a="some pattern";
my $b="some other pattern";
my $str =~ s/\s*$a\s+\-\-\>\s+$b/ $b/;

$ a и $ b изменяются, и конкретные строки необходимо заменить. Есть идеи, как это сделать в Python?

1 Ответ

2 голосов
/ 08 марта 2012
import re
a = "some pattern"
b = "some other pattern"
# Create the regular expression. '-' and '>' don't need escaping
pattern = re.compile(r'\s*' + a + '\s+-->\s+' + b)
# 'str' is a poor variable name in Python; it hides a built-in
result = pattern.sub(' ' + b, result)

Хотя я на самом деле не знаю, как вам не удалось найти достаточно информации, при условии, что вы действительно понимаете, как работают регулярные выражения.Вы читали документацию?

Эквивалента флагу Perl / o не существует;если вы хотите скомпилировать регулярное выражение один раз и повторно использовать его, то ... сделайте именно это;поиграйте с областью pattern, чтобы строка re.compile запускалась только один раз.

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