Python Regex-在非空格字符处重新拆分,如何忽略\ n

我有以下测试字符串

sample_string = """
object 1
 sub details 1
 sub details 2
 sub details 3
object 2
 sub details 1
 sub details 2
 sub details 3
object 3
 sub details 1
 sub details 2
 sub details 3 
 """

和我想要的如下

desired output = [
"object 1
 sub details 1
 sub details 2
 sub details 3","object 2
 sub details 1
 sub details 2
 sub details 3","object 3
 sub details 1
 sub details 2
 sub details 3"
]

我有一个模式,当我将其粘贴到regex101.com时,它可以按预期工作,但是当我在shell中运行它时,看起来新行被处理为\ n,并且每一行都在其自己的list元素中。我也尝试使用re.MULTILINE,但每次都得到相同的结果。谁能帮我解决我在这里缺少的东西吗?

谢谢

>>> re.split(r'^\S.+',test_string)
['\nobject 1\n sub details 1\n sub details 2\n sub details 3\nobject 2\n sub details 1\n sub details 2\n sub details 3\nobject 3\n sub details 1\n sub details 2\n sub details 3 \n ']
niaoge716 回答:Python Regex-在非空格字符处重新拆分,如何忽略\ n

re.split的第三个参数是maxsplit,而不是flags。使用关键字参数来传递re.MULTILINE

re.split = split(pattern,string,maxsplit=0,flags=0)

>>> re.split(r'^\S.+',sample_string,flags=re.MULTILINE)
['','\n sub details 1\n sub details 2\n sub details 3\n','\n sub details 1\n sub details 2\n sub details 3']
本文链接:https://www.f2er.com/3153109.html

大家都在问