[英]Python Regex: Only Replace captured group
我有一个正则表达式与一个“别名”键匹配,该键是markdown文件中的现有列表,并且将右括号作为一个组捕获。
RE_ALIASES = re.compile(r'\s*---\n.*aliases:\s?\[.*(\]|\n\]).*\n---.*', re.DOTALL)
如何用自己的文字替换捕获的组?
即
---
...
aliases: [
hello,
world
]
---
...
应该
---
...
aliases: [
hello,
world,
inserted
]
---
...
在这种情况下,第一组\\n]
被替换为,\\n inserted\\n]
我认为您应该使用re.sub函数
这是适用于您的案例的方法:
(假设您将初始字符串保存为initial_string)
final_string = re.sub('(\\]|\\n\\]).*', ',\n\tinserted\n\t]', initial_string)
如果打印“ final_string”,则显示:
---
...
aliases: [
hello,
world,
inserted
]
---
...
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.