¿Coincidencia de expresiones regulares entre dos cadenas?

Parece que no puedo encontrar una manera de extraer todos los comentarios como en el siguiente ejemplo.

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

bloque contwo -- -- no es compatible probablemente debido a mala expresión regular. ¿Puede alguien, por favor, señalarme en la dirección correcta cómo extraer coincidencias entre dos cadenas?

Hola, he probado lo que ustedes sugirieron en los comentarios ... aquí está la solución operativa con poca actualización.

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

¡Gracias!

Respuestas a la pregunta(2)

Su respuesta a la pregunta