Regex correspondência entre duas cordas?

Eu não consigo encontrar uma maneira de extrair todos os comentários como no exemplo a seguir.

>>> import re
>>> string = '''
... <!-- one 
... -->
... <!-- two -- -- -->
... <!-- three -->
... '''
>>> m = re.findall ( '<!--([^\(-->)]+)-->', string, re.MULTILINE)
>>> m
[' one \n', ' three ']

bloquear comtwo -- -- não é correspondido muito provavelmente por causa do regex ruim. Alguém pode por favor me apontar na direção certa como extrair jogos entre duas seqüências de caracteres.

Oi eu testei o que vocês sugeriram em comentários .... aqui está trabalhando solução com pouca atualização.

>>> m = re.findall ( '<!--(.*?)-->', string, re.MULTILINE)
>>> m
[' two -- -- ', ' three ']
>>> m = re.findall ( '<!--(.*\n?)-->', string, re.MULTILINE)
>>> m
[' one \n', ' two -- -- ', ' three ']

obrigado!

questionAnswers(2)

yourAnswerToTheQuestion