使re.sub打印整个输入及其修改

时间:2017-06-29 23:14:16

标签: regex python-3.x parsing

我只需要在配置文件中执行参数替换:

#!/usr/bin/python3
import re

current_config = '''
    #USERNAME
    [name = foo]
    #-USERNAME
    #DATABASE
    [config = old]
    #-DATABASE
    #MORE_FIELDS
    [moresettings]
    #-MORE_FIELDS
    '''
new_config ='''
    #DATABASE
    [config = new]
    #-DATABASE
    '''

final = re.sub('#DATABASE}}(.*)#-#{{#-DATABASE}}', current_config, new_config)
print(final)

正则表达式本身运行正常,问题是它只打印出(正确)修改过的部分,忽略了文件的其余部分:

dev-sandbox@workstation:~/PycharmProjects/test$ python3 test.py

    #DATABASE
    [config = new]
    #-DATABASE

我想要实现的是整个“current_config”变量,包括DATABASE块的新设置。我在shell上使用SED,但我需要在python3中使用它。

非常感谢任何帮助,re.sub的文档使用它无法完成。谢谢!

0 个答案:

没有答案