gpt4 book ai didi

python - 忽略正则表达式匹配中的换行符

转载 作者:太空宇宙 更新时间:2023-11-04 09:39:30 24 4
gpt4 key购买 nike

我正在尝试使用以下脚本将所有匹配项替换为首字母大写。当过滤词(在本例中为“ABC”和“DEF”)之间有一个换行符时,该行不会按预期被替换。

在这种情况下如何忽略换行符?

编辑:我不想从字符串中完全去除所有换行符,而只去除过滤词之间的换行符。

Edit2:我编辑了文本和脚本以更好地反射(reflect)我遇到的问题。如果我包含 flags=re.DOTALL 参数,它会给我:

  mmm    = "Hello Hello Hello Hello Hello Hello
Hello Hello Hello Hello",
Bbb = "Bbb",

而我想要的输出是(注意 bbb 没有大写):

  mmm    = "Hello Hello Hello Hello Hello Hello
Hello Hello Hello Hello",
bbb = "bbb",

以下是我正在使用的脚本。

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)

最佳答案

使用re.DOTALL标志:

formatted = re.sub(rex, maketitle, string, flags=re.DOTALL)
print(formatted)

根据docs :

re.DOTALL
Make the '.' special character match any character at all, including a newline; without this flag, '.' will match anything except a newline.

关于python - 忽略正则表达式匹配中的换行符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52197413/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com