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