I don't know if you're using jQuery or not, but with it it's pretty simple:
$('a').each(function() {
var $text = $(this).html();
var $link = $(this).attr('href');
$(this).after($text+" ("+$link+")");
$(this).remove();
});
EDIT3 (corrected error from comment):
OK, I've achieved what you need:
/<\s*a.*?href\s*=\s*(?:"|')(.*?)(?:"|')[^>]*>(.*?)<\s*?\/\s*?a\s*?>/ig
And the substitution would be:
$2 ($1)
Here's a working example: http://regexr.com/38qgv
I've also added a check to include malformed tags such as < a href = "">
or < / a >