Expressão RegEx que capturará tudo entre dois caracteres, incluindo blocos de múltiplas linhas

Eu quero capturar todo o texto e blocos de texto entre <% e%>.

Por exemplo:

<html>
<head>
<title>Title Here</title>
</head>
<body>
<% include("/path/to/include") %>
<h1>Test Template</h1>
<p>Variable: <% print(second_var) %></p>
<%

variable = value;

foreach(params here)
{
    code here
}

%>
<p><a href="/" title="Home">Home</a></p>
</body>
</html>

eu tentei\<\%(.*)\%\> mas isso vai capturar tudo, incluindo<h1>Test Template</h1> bloquear também.

questionAnswers(3)

yourAnswerToTheQuestion