Дом - это путь, но ради интереса вот решение:
Самый простой способ исключить определенные совпадения в регулярных выражениях - это использовать «отрицательный прогноз» или «отрицательный прогноз». Если отрицательное выражение найдено где-либо в строке, совпадение не выполняется.
Пример:
^(?!.+<img.+)<a href=\"?\'?.+\"?\'?>.+</a>$
Матчи:
<a href="http://domain1.com"><span>Here is link</span></a>
<a href="http://domain2.com" title="">Hello</a>
Но не совпадает:
<a href="http://domain3.com" title=""><img src="" /></a>
<a href="http://domain4" title=""> I'm the image <img src="" /> yeah</a>
Отрицательный взгляд вперед - эта часть строки:
(?!.+<img.+)
Это говорит о том, что не совпадает ни с одной строкой, в которой есть символы, за которыми следует 
<a href=\"?\'?.+\"?\'?>.+</a>
Остальное мое общее соответствие для тегов привязки в html, вы можете использовать альтернативное выражение соответствия.
Возможно, вам придется пропустить начальный и конечный символы $ $ в зависимости от вашего использования.
Больше информации о взгляде вперед / назад
http://www.codinghorror.com/blog/2005/10/excluding-matches-with-regular-expressions.html