我目前正在尝试通过 VirtualHost 匹配 apache 配置文件中的单个 Apache VirtualHost 条目ServerName
。我正在使用 python 执行此操作,使用该re
模块。
这是我正在使用的文件类型的示例:
<VirtualHost *:8000>
DocumentRoot "/path/to/dir1"
ServerName eg1.dev
</VirtualHost>
<VirtualHost *:80>
DocumentRoot "/path/to/docroot"
ServerName desired.dev
</VirtualHost>
<VirtualHost *:8080>
DocumentRoot "/path/to/dir3"
ServerName eg2.dev
</VirtualHost>
我想将 VirtualHostServerName
与desired.dev
. 所以我的目标是:
<VirtualHost *:80>
DocumentRoot "/path/to/docroot"
ServerName desired.dev
</VirtualHost>
我认为使用正则表达式会相当简单,但我不知道该怎么做。我目前有:
<VirtualHost \*:[0-9]*>.*?ServerName +desired\.dev.*?</VirtualHost>
但是这个问题是它匹配第一个<VirtualHost...
,匹配ServerName
和停止匹配在所需虚拟主机的结束标记的末尾。
我知道可能有用于解析 Apache 配置文件的 python 模块,但我不希望使用标准库之外的任何东西。如果尝试使用正则表达式是一个糟糕的主意,有没有其他选择?