我正在尝试使用以下脚本用标题案例替换所有匹配的事件。当过滤词(在本例中为“ABC”和“DEF”)之间有换行符时,该行不会按预期替换。
在这种情况下如何忽略换行符?
编辑:我不想从字符串中完全去除所有换行符,而只想去除过滤器单词之间的换行符。
Edit2:我编辑了文本和脚本以更好地反映我遇到的问题。如果我包含flags=re.DOTALL参数,它会给我:
mmm = "Hello Hello Hello Hello Hello Hello
Hello Hello Hello Hello",
Bbb = "Bbb",
Run Code Online (Sandbox Code Playgroud)
而我想要的输出是(注意bbb不是大写):
mmm = "Hello Hello Hello Hello Hello Hello
Hello Hello Hello Hello",
bbb = "bbb",
Run Code Online (Sandbox Code Playgroud)
以下是我正在使用的脚本。
test_string = '''
mmm = "hello hello hello hello hello hello
hello hello hello hello",
bbb = "bbb",
'''
rex = r'(?<= mmm)(.*)(?=\")'
def maketitle(match_obj):
return match_obj.group(0).title()
formatted = re.sub(rex, maketitle, test_string, flags=re.DOTALL)
print(formatted)
Run Code Online (Sandbox Code Playgroud)