python: регулярное выражение получает только последнее вхождение

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import re

text = "aaaa[ab][cd][ef]"

a = re.compile("^(\w+)(\[\w+\])*$").findall(text)

print a

мне нужны все они, но он возвращает:

[('aaaa', '[ef]')]

с:

a = re.compile("\[\w+\]").findall(text)

я получаю их все, но первое слово отсутствует ...

['[ab]', '[cd]', '[ef]']

этот текст является случайным текстом, я поместил это из-за качества стандартов stackoverflow

5
задан ZiTAL 1 February 2012 в 22:43
поделиться