【问题标题】:Python - parsing apache config with regexpPython - 使用正则表达式解析 apache 配置
【发布时间】: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


【解决方案1】:

【讨论】:

  • 谢谢,我会尝试使用这个库!
  • Augeas 有点奇怪且难以使用。
【解决方案2】:

没有办法单独使用正则表达式。正则表达式引擎没有状态,因此您只能解析非常简单的输入。其他选项请参见此处:Any python libs for parsing apache config files?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-10-23
    • 2014-06-26
    • 1970-01-01
    • 2020-06-23
    • 1970-01-01
    • 1970-01-01
    • 2014-08-12
    相关资源
    最近更新 更多