2017-08-08 69 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 *的結果,包括空白的。