我正在寻找以[{1}}和re.sub
结尾的\n
行的方式,同时保留行结尾。
\r\n
离开我
import re
data = "Foo\r\nFoo\nFoo"
regex = r"^Foo$"
re.sub(regex, "Bar", data, flags=re.MULTILINE)
使用正则表达式Foo\r\nBar\nBar
检查可选的^Foo(\r)?$
时,我最终会
\r
有什么想法吗?
修改:预期结果
Bar\nBar\nBar
答案 0 :(得分:1)
使用\n
使?
和>>> re.sub('^Foo(\r?\n?)$', r'Bar\1', 'Foo\r\nFoo\nFoo', flags=re.MULTILINE)
'Bar\r\nBar\nBar'
可选,并将它们指定为捕获组,以便您可以在回调函数中引用它们进行替换:
\r
这将匹配以\n
,\r\n
或mysqli_query()
结尾的行,以及根本没有换行的行。
答案 1 :(得分:1)
使用positive lookahead assertion
import re
data = "Foo\r\nFoo\nFoo"
regex = r"^Foo(?=\r?\n?$)"
re.sub(regex, "Bar", data, flags=re.MULTILINE)
输出:
'Bar\r\nBar\nBar'