为什么 re.sub() 函数在多行字符串的每一行之后添加两个空格字符,而不是一个?

问题描述 投票:0回答:0

我在 Python 3.x 代码中定义了以下函数,以在不以空格字符结尾的每一行(多行字符串中)后附加一个空格字符。其中使用的正则表达式模式按预期工作,即,保留所有以至少一个空格字符结尾的行不变,并在另一种情况下附加空格字符,但不是附加一个空格字符,而是附加两个空格字符。我怎样才能避免重复添加空格字符?

def applyRegexs(inText):
    inText = re.sub(r'(.*(?<! ))$', r'\1 ', inText, flags= re.MULTILINE)
    return inText

我已经尝试将替换字符串从 r'\1 更改为 r'\1 但是通过此更改,它甚至不会在每行之后附加一个空格字符(这是需要的)。 我已经尝试按照 here 的建议应用 strip() 函数,但在多行字符串上应用此函数并不能解决问题。

python-3.x regex
© www.soinside.com 2019 - 2024. All rights reserved.