Соответствие регулярных выражений между двумя строками?

Кажется, я не могу найти способ извлечь все комментарии, как в следующем примере.

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

блокировать сtwo -- -- не подходит скорее всего из-за плохого регулярного выражения. Может кто-нибудь, пожалуйста, укажите мне в правильном направлении, как извлечь совпадения между двумя строками.

Привет, я протестировал то, что вы, ребята, предложили в комментариях ... вот рабочее решение с небольшим обновлением.

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

Спасибо!

Ответы на вопрос(2)

Ваш ответ на вопрос