Necesitas algo como ésto:
El
.* representa cualquier carácter que se repita 0 o más veces.
El inconveniente es que hay que escapar varios caracteres, como no tengo buena memoria generalmente uso la función preg_quote, la cual escapa los caracteres especiales por mi :)
Lo cual imprime:
\<\!-- begin remove --\>texto\<\!-- end remove --\>
Finalmente, tu expresión regular (con la función) es:
Nada más, nada menos, saludos.