2017-08-08 75 views

回答

1

有八个 “点” 的字符串中:

| X | Y | X | Y | 1 | 2 | 3 |

他们每个人都是一个正则表达式可以开始的位置。由于您的正则表达式包含空字符串(因为x*允许x的0个副本),所以每个点会生成一个匹配,并且该匹配会附加到b的列表中。例外情况是开始较长比赛的两个位置,x;在msalperen的答案,

空场比赛都包括在结果,除非他们碰另一场比赛的开始,

所以在第一和第三的位置空匹配不包括在内。

+0

我明白了,谢谢。 –

0

根据Python文档(https://docs.python.org/2/library/re.html):

re.findall返回所有非重叠模式的匹配字符串,作为 字符串列表。该字符串从左到右扫描,匹配结果 以找到的顺序返回。如果 中存在一个或多个组,则返回组的列表;这将是一个元组列表,如果 该模式有多个组。除非他们触及另一场比赛的开始,否则空的比赛包含在 结果中。

所以它返回所有匹配x *的结果,包括空白的。