使用maxsplit参数的python re.split

使用maxsplit参数的python re.split,python,python-3.x,Python,Python 3.x,使用re.split时,我希望maxslit是返回列表的长度(-1) 文件中的例子表明了这一点 但是当有一个捕获组(可能还有其他一些情况)时,我不理解maxspilt参数是如何工作的 >>re.split((\W+),“单词,单词,单词。”,maxslit=1) [“单词”,“单词”,“单词,单词” >>>关于拆分(“(:)”,“:a:b::c”,maxsplit=2) ['','':'','a','':'','b::c'] >>>关于拆分(“(:)”,“:a:b::c”,maxsplit=2)

使用
re.split
时,我希望
maxslit
是返回列表的长度(-1)

文件中的例子表明了这一点

但是当有一个捕获组(可能还有其他一些情况)时,我不理解
maxspilt
参数是如何工作的

>>re.split((\W+),“单词,单词,单词。”,maxslit=1)
[“单词”,“单词”,“单词,单词”
>>>关于拆分(“(:)”,“:a:b::c”,maxsplit=2)
['','':'','a','':'','b::c']
>>>关于拆分(“(:)”,“:a:b::c”,maxsplit=2)
['':',':','a',':',':','b::c']

我遗漏了什么?

这不是关于
maxplit
,而是关于在正则表达式中使用括号:

如果模式中使用了捕获括号,那么模式中所有组的文本也将作为结果列表的一部分返回


文档:

这不是关于
maxsplit
,而是关于在正则表达式中使用括号:

如果模式中使用了捕获括号,那么模式中所有组的文本也将作为结果列表的一部分返回


文档:

因此我猜测
maxslit
确定拆分的数量,括号返回其他组

示例
”:a:b::c“
with
maxslit=2
将字符串拆分为三部分:
“”、“a”、“b::c”

但是因为模式
“(:)”
也包含一个捕获的组,所以它在两部分之间返回: “,”:“,”a“,“:”,“b::c”


如果模式是
”((:)”
,则每个冒号在部分之间返回两次,因此我猜测
maxslit
确定拆分的数量,括号返回其他组

示例
”:a:b::c“
with
maxslit=2
将字符串拆分为三部分:
“”、“a”、“b::c”

但是因为模式
“(:)”
也包含一个捕获的组,所以它在两部分之间返回: “,”:“,”a“,“:”,“b::c”

如果模式为“
”((:)”
,则每个冒号在两个部分之间返回两次