finditer関数の出力について質問です。
下記のコードを実行しました。
Input
1import re 2 3S = "aaadaa" 4k = "aa" 5 6r = re.compile(r'(?='+k+')') #ここの"+"は正規表現ではなく文字列連結 7result = r.finditer(S) 8 9if result: 10 for m in result: 11 print(m)
Output
1<re.Match object; span=(0, 0), match=''> 2<re.Match object; span=(1, 1), match=''> 3<re.Match object; span=(4, 4), match=''>
"aa"がマッチしている箇所は3つあり、私の予想では下記の実行結果が返ってくると考えました。
実際の出力は違うようです。
<re.Match object; span=(0, 2), match=''>
<re.Match object; span=(1, 3), match=''>
<re.Match object; span=(4, 6), match=''>
どなたかこの挙動について解説をお願いできないでしょうか。
恐れ入りますがどうぞよろしくお願いいたします。
回答2件
あなたの回答
tips
プレビュー