Python正则表达式:仅替换捕获的组

时间:2019-03-28 07:00:56

标签: python regex

我有一个正则表达式,该正则表达式与降价文件中现有列表的“别名”键相匹配,并把右括号作为一个组捕获。

RE_ALIASES = re.compile(r'\s*---\n.*aliases:\s?\[.*(\]|\n\]).*\n---.*', re.DOTALL)

如何用自己的文字替换捕获的组?

---
...
aliases: [
   hello,
   world
]
---
...

应该是

---
...
aliases: [
   hello,
   world,
   inserted
]
---
...

在这种情况下,第一组\n],\n inserted\n]取代

1 个答案:

答案 0 :(得分:1)

我认为您应该使用re.sub function

以下是适用于您的案例的方法:

(假设您将初始字符串保存为initial_string)

ssd_mobilenet_v1_quantized_300x300_coco14_sync

如果打印“ final_string”,则显示:

final_string = re.sub('(\\]|\\n\\]).*', ',\n\tinserted\n\t]', initial_string)