【发布时间】:2011-10-05 07:42:29
【问题描述】:
我想解析像apache2.conf这样的配置文件,看起来像这样:
<Group group1>
param1 1
<SomeGroup group3>
param3 3
</SomeGroup>
</Group>
<Group group2>
param2 2
</Group>
正则表达式:
re.findall(r'\</?[^\>]+\>([\s\S]+)\<//?[^\>]+\>', text, re.MULTILINE)
如果我使用惰性正则表达式,它会像这样剪切:
<Group group1>
param1 1
<SomeGroup group3>
param3 3
</SomeGroup>
如果我使用贪婪的正则表达式,它会剪切所有文本。那么,解析它的正确方法是什么?或者有没有图书馆?
【问题讨论】:
-
不要使用正则表达式解析 XML。 stackoverflow.com/questions/1732348/…
-
@katrielalex: apache 配置文件不是有效的 XML。
-
不过,在这种数据上使用正则表达式并不是一个好主意。如果解析器尚不存在,则构建解析器。一个正则表达式(如果可能的话)会很快变得非常复杂。
-
@katrielalex 不是重复的 - 主要问题是如何编写正确的正则表达式。
标签: python regex apache configuration apache2