-1

重複の可能性:
Python 正規表現は重複するすべての一致を見つけますか?

以下の例で、python の re.findall が見つかったすべての部分文字列を返さない理由がわかりません。何か案は?

>>> import re
import re
>>> t='1 2 3'
t='1 2 3'
>>> m=re.findall('\d\s\d',t)
m=re.findall('\d\s\d',t)
>>> m
m
['1 2']

しかし、期待される結果は m = ['1 2', '2 3'] です。

情報については、python 2.6.1 を使用しています。ありがとう。

4

1 に答える 1

5

help(re.findall)

モジュール re の関数 findall に関するヘルプ:

findall(pattern, string, flags=0)
文字列内の重複しないすべての一致のリストを返します。

パターンに 1 つ以上のグループが存在する場合は、
グループのリストを返します。パターンに複数のグループがある場合、これはタプルのリストになります。

空の一致が結果に含まれます。

2 つの結果が重複しているため (どちらにも「2」が含まれている)、最初の結果のみが返されます。

代わりにt='1 2 3 4'、結果が になります['1 2', '3 4']

于 2012-12-24T08:02:31.600 に答える