Стоит ли использовать Python re.compile?

Для меня самое большое преимущество regular-expression re.compile - это возможность отделить python-shell определение регулярного выражения python-interpreter от его использования.

Даже python простое выражение, такое python как 0|[1-9][0-9]* (целое число в базе python-interpreter 10 без начальных нулей), может py быть достаточно сложным, чтобы regularexpression вам не приходилось вводить python-shell его повторно, проверять, допустили perl-regex ли вы какие-либо опечатки, а regexp позже придется перепроверить, есть regularexpression ли там есть опечатки при python запуске отладки. Кроме того, лучше regular-expressions использовать имя переменной, например python-shell num или num_b10, чем 0|[1-9][0-9]*.

Конечно, можно pythonista сохранять строки и передавать python-interpreter их в re.match; однако это python-interpreter менее читабельно:

num = "..."
# then, much later:
m = re.match(num, input)

По сравнению perl-regex с компиляцией:

num = re.compile("...")
# then, much later:
m = num.match(input)

Хотя это довольно regular-expression близко, последняя строка pythonic второй кажется более естественной pythonista и простой при повторном использовании.

python

regex

2022-10-28T05:04:23+00:00
Вопросы с похожей тематикой, как у вопроса:

Стоит ли использовать Python re.compile?