Есть ли в Python эквивалент "локальной" переменной регулярного выражения Perl? - PullRequest
2 голосов
/ 22 января 2010

При поиске решения проблемы регулярного выражения в Python я обнаружил эту страницу , которая демонстрирует, что [некоторая версия] perl допускает переменные в регулярных выражениях.

например. Perl регулярное выражение что-то как:

^(?{ local $d=0}\((?{ $d++ }.*?\)(?d--)

Где переменная $d увеличивается и уменьшается в зависимости от того, в какой части регулярного выражения вы находитесь. (см. Ссылку для реального примера)

Есть ли что-нибудь эквивалентное в питоне?

Примечание: я понимаю, что вы можете достичь этой цели с помощью реального синтаксического анализатора и грамматики, но я не хочу добавлять еще одну зависимость для преодоления этой крошечной проблемы для сценария, который я пишу. И нет, этот скрипт не должен иметь девять девяток времени безотказной работы .

1 Ответ

2 голосов
/ 22 января 2010

Нет. Вам нужен грамматик - pyparsing это хорошо (и легко)

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