First, you simply can't do what you want to do reliably, consistently, or generally using regular expressions. For more information as to why you shouldn't parse SGML-derived markup languages with regular expressions, please see @bobince's definitive answer on parsing (X)HTML
That out of the way, here's the regex you'd need to use. Why? Because there is no regex operator for "interspersed-between" (such an operator would not be possible in a regular language, as far as I know, so you'd need an entirely different model to write such a string recognizer).
<(=\\n)?t(=\\n)?a(=\\n)?g(=\\n)?>(?<value>([^<]*))<(=\\n)?t(=\\n)?a(=\\n)?g(=\\n)?>
You'll have to change up your replace pattern a bit:
<%= ${value} %>
If you need to remove the "=\n" (which seems like you're trying to process escaped text, which you should also never do: whatever weird escaping routines you have, unescape the text, process it, and escape it again if necessary), you'll not be able to do it in the same regex. In fact, you'd probably need to go two passes through the text, once to grab each value for sanitization in procedural code, then once to re-insert the values at their appropriate places.
TL;DR: Use a real XML parser if you want to "convert XML to ASP pages" (which appears to be your goal).