コードは次のとおりです。
#coding=utf-8
import re
str = "The output is\n"
str += "1) python\n"
str += "A dynamic language\n"
str += "easy to learn\n"
str += "2) C++\n"
str += "difficult to learn\n"
str += "3244) PHP\n"
str += "eay to learn\n"
pattern = r'^[1-9]+\) .*'
print re.findall(pattern,str,re.M)
出力は
['1) python', '2) C++', '3244) PHP']
ただし、次のように分割したいと思います。
['1) python\n'A dynamic language\n easy to learn\n' 2) C++\n difficult to learn\n', '3244) PHP\n easy to learn\n']
つまり、最初の行が "number)" で始まらない場合は無視し、次の行が "number)" で始まるまでの行を同じグループと見なします。パターンをどのように書き直せばよいですか?