python 大括号嵌套_python解析带嵌套大括号的绑定配置

这就可以了,其中“st”是所有区域定义的字符串:import re

zone_def = re.split('zone', st, re.DOTALL)

big_dict = {}

for zone in zone_def:

if len(zone) > 0:

zone_name = re.search('(".*?")', zone)

sub_dicts = re.finditer('([\w]+) ({.*?})', zone, re.DOTALL)

big_dict[zone_name.group(1)] = {}

for sub_dict in sub_dicts:

big_dict[zone_name.group(1)][sub_dict.group(1)] = sub_dict.group(2).replace(' ', '')

sub_types = re.finditer('([\w]+) (.*?);', zone)

for sub_type in sub_types:

big_dict[zone_name.group(1)][sub_type.group(1)] = sub_type.group(2)

big-tu-dict将返回一个区域定义字典。每个区域定义都将域/url作为其键。区域定义中的每个键/值都是字符串。在

这是上述示例的输出:

^{pr2}$

如果你有第二个相同的区域,这是输出sssss.com网站". 在{'"sssss.com"': {'transfer': '{\n"acl1";\n"acl2";\n}', 'masters': '{\n11.22.33.44;\n55.66.77.88;\n}', 'type': 'slave', 'file': '"sec/domain.com"'},'"domain.com"': {'transfer': '{\n"acl1";\n"acl2";\n}', 'masters': '{\n11.22.33.44;\n55.66.77.88;\n}', 'type': 'slave', 'file': '"sec/domain.com"'}}

您将不得不做一些进一步的剥离,使其更具可读性。在

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值