繁体   English   中英

用不同的值替换正则表达式模式

[英]Replacing regexp patterns with different values

我有这样的字符串:

text = "bla bla bla\n {panel:title=Realisation|borderStyle=dashed|borderColor=#cccccc|titleBGColor=#a39d9d}\n bla bla bla\n {panel:title=Definition of Done|borderStyle=dashed|borderColor=#cccccc|titleBGColor=#a39d9d} bla bla

我需要将 {panel:title=Реализация|borderStyle=dashed|borderColor=#cccccc|titleBGColor=#a39d9d} 替换为 Realization 和 {panel:title=Definition of Done|borderStyle=dashed|borderColor=#cccccc|titleBGColor=#a39d9d } 到完成的定义

我试着这样做

def del_tags(text):
    if text:
        CLEANR = re.compile('{panel.*?}')
        try:
            TITLES = re.search('title\=(.+?)\|', text).group(1)
        except AttributeError:
            TITLES = ""
        cleantext = re.sub(CLEANR, TITLES, text)
        return cleantext
    else: 
        return text

但他们用实现取代了一切。

我该如何解决我的问题?

尝试:

import re

text = "bla bla bla\n{panel:title=Realisation|borderStyle=dashed|borderColor=#cccccc|titleBGColor=#a39d9d}\nbla bla bla\n{panel:title=Definition of Done|borderStyle=dashed|borderColor=#cccccc|titleBGColor=#a39d9d} bla bla"

text = re.sub(r"{panel:title=([^|}]+).*?}", r"\1", text)
print(text)

印刷:

bla bla bla
Realisation
bla bla bla
Definition of Done bla bla

{panel:title=([^|}]+).*?}将在panel:title=之后匹配标题并替换整个{...} - regex101

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM