Во-первых, регулярные выражения являются неоптимальным инструментом для сопоставления HTML (это хороший пример того, почему это так). Вы будете счастливы с парсером, если знаете, как его использовать (может, один из PHP-гуру порекомендует его).
Сказав это, лучшим способом с регулярными выражениями, вероятно, было бы соответствие (и отбрасывание) первого тега <strong>
в явном виде:
<strong>.*?</strong><strong>(.*?)</strong>.*?([A-Z0-9._%-]+@[A-Z0-9.-]+\.[A-Z]{2,4})
Это ни в коем случае не хорошее, надежное, пуленепробиваемое решение, но, по крайней мере, оно работает для ваших данных.
Или, если вы можете более точно определить, что разрешено между / после соответствующего тега, как об этом:
<strong>([^<>]*)</strong>(?:mailto:)?([A-Z0-9._%-]+@[A-Z0-9.-]+\.[A-Z]{2,4})