Точный правильный ответ варьируется между различными синтаксисами регулярных выражений, но что-то вроде этого должно работать:
<%[^@]
или возможно это, если ваш синтаксис регулярных выражений позволяет:
<%([^@]|$)
Последний также будет соответствовать вхождению <% в конце строки (или строки), тогда как первое регулярное выражение, вероятно, не будет. </p>
Наконец, как предполагают другие авторы, это может сработать, если ваш язык регулярных выражений имеет «отрицательные прогнозные утверждения нулевой ширины» (например, Perl и C #):
<%(?!@)