Scusa, non è per essere pignolo ma se il tag <u> come dici tu non esiste credo di aver trovato un bug nell'HTML validator del w3c. Infatti:

<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<TITLE>Untitled Document</TITLE>
</HEAD>

<BODY>
I testi <u>sono sottolineati</u>
</BODY>
</HTML>


viene validato dal w3c come HMTL 4.01 transitional.

Comunque sono perfettamente d'accordo che la mia regex soddisfa anche tag che non sono validi, però almeno sostituisce tutti i bold, italic, underline con una regex sola

Ciao!

StefaX