Python - анализ конфигурации Apache с помощью регулярных выражений - PullRequest
2 голосов
/ 14 июля 2011

Я хочу разобрать конфигурационные файлы, такие как apache2.conf, который выглядит следующим образом:

<Group group1>
   param1 1

   <SomeGroup group3>
      param3 3
   </SomeGroup>
</Group>

<Group group2>
   param2 2
</Group>

Regexp:

re.findall(r'\</?[^\>]+\>([\s\S]+)\<//?[^\>]+\>', text, re.MULTILINE)

если я использую ленивое регулярное выражение, оно будет выглядеть так:

<Group group1>
   param1 1

   <SomeGroup group3>
      param3 3
   </SomeGroup>

Если я использую жадное регулярное выражение, оно обрезает весь текст. Итак, как правильно его разобрать? Или есть какие-нибудь библиотеки?

Ответы [ 2 ]

2 голосов
/ 14 июля 2011
1 голос
/ 14 июля 2011

Нет способа сделать это с помощью одного регулярного выражения. Движок регулярных выражений не имеет состояния, поэтому вы можете анализировать только очень простой ввод. Смотрите здесь для других опций: Любые библиотеки Python для анализа файлов конфигурации Apache?

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