Cita:
Iniciado por Sr.Zzz
(..) Mi pregunta es ¿que función cumple "?" en (.*?) ?
De forma predeterminada, los cuantificadores (*, +) son lo que se denomina "voraces", es decir, intentan consumir tantos caracteres como puedan, siempre que se ajuste al patrón.
Para evitar que sean voraces (es decir, para forzar que consuman tan pocos caraceres como sea posible para cada coincidencia), se añade ese ? que ves en la expresión que pones como ejemplo.
Si quieres más referencias, puede servirte
esta página (en inglés) o buscando por google con "ungreedy regular expressions" (que viene a significar "expresiones regulares no voraces").
Un saludo.