¿Es at-sign (@) un personaje válido de etiqueta HTML / XML?

Estoy utilizando HTML strip usando expresiones regulares (sí, lo sé, nunca analizo HTML con expresiones regulares, pero simplemente lo estoy eliminando , y desafortunadamente no puedo usar ninguna biblioteca externa). Estoy usando una expresión regular del Recetario de Expresiones Regulares, y funcionó muy bien, excepto que acabo de toparme con este problema:

En la cadena Bob Saget , mi expresión regular coincide con el correo electrónico como una etiqueta.

Entonces mi pregunta es, ¿el signo @ un carácter válido de etiqueta XML o HTML? (No estoy preguntando si es válido dentro de un atributo; lo sé) Si no lo es, podré excluirlo con éxito en mi expresión regular.

No estoy seguro de dónde buscar esto. Miré aquí y creo que dice que en XML, el signo no está permitido en una etiqueta; Sin embargo, apreciaría algunas pruebas concretas.

Después de otra mirada a la especificación XML :

Una etiqueta consiste en:

 '< ' Name (S Attribute)* S? '>' 

Un nombre consta de:

 NameStartChar (NameChar)* 

Un NameStartChar se compone de:

 ":" | [AZ] | "_" | [az] | [#xC0-#xD6] | [#xD8-#xF6] | [#xF8-#x2FF] | [#x370-#x37D] | [#x37F-#x1FFF] | [#x200C-#x200D] | [#x2070-#x218F] | [#x2C00-#x2FEF] | [#x3001-#xD7FF] | [#xF900-#xFDCF] | [#xFDF0-#xFFFD] | [#x10000-#xEFFFF] 

Un NameChar consiste en:

 NameStartChar | "-" | "." | [0-9] | #xB7 | [#x0300-#x036F] | [#x203F-#x2040] 

El signo @ es U+0040

Entonces, el signo @ no es válido en NameChar o NameStartChar, y por lo tanto no es válido en un Nombre.