Pythonのreで最後にマッチしたデータのみを取得する

Pythonのreでパターン検索

例えば以下のようなデータがあったとします(Wikipediaの今日は何の日)。

text = []
text.append ("第二次世界大戦: スロバキア民衆蜂起開始(1944年)")
text.append ("ドイツの飛行船LZ 127(ツェッペリン伯号)が22日間で世界一周飛行に成功(1929年)")

Pythonで括弧内の何年に起きたのかだけを取得したいです。しかし、Pythonのreモジュールを使ってsearch関数を使い正規表現で抽出しようとするとうまく取得できません。

import re
text = []
year = []
text.append ("第二次世界大戦: スロバキア民衆蜂起開始(1944年)")
text.append ("ドイツの飛行船LZ 127(ツェッペリン伯号)が22日間で世界一周飛行に成功(1929年)")
for i in range(len(text)):
   match = re.search(r"\(.*?\)",text[i])
   year.append(match.group(0))
print(year)

リストの1つ目は1944年が取得できていますが、リスト2番目では同じく括弧で括られた(ツェッペリン伯号)を取得してしまっています。何年に起きたのかは最後に括弧で表記されているため、最後の結果のみ取得したいです。

最後にマッチしたデータのみ取得する解決法

解決法は正規表現を修正したり年数のパターンでマッチさせたりなど幾つかありますが、findallで取得して-1番目のリストを取り出す方法が一番簡単でした。

re.findall('((.*?))', text[i])[-1]

これで年数を取得できます。

import re
text = []
year = []
text.append ("第二次世界大戦: スロバキア民衆蜂起開始(1944年)")
text.append ("ドイツの飛行船LZ 127(ツェッペリン伯号)が22日間で世界一周飛行に成功(1929年)")
for i in range(len(text)):
   match = re.findall('((.*?))', text[i])[-1]
   year.append(match)
print(year)