One regular expression is not going to be able to exclude and include simultaneously in the way you want.
If your target document is well-formed XML then you could use one or more regular expressions to find and replace tags with the empty string, then use your working regex to find mail addresses in whatever text is left.
However, I have to agree with Bohemian that an XML parser is the best way to go, if your target is an XML file. XML is complex and flexible, and there's always the risk that you'll hit a file with features you forgot about when designing your replace-with-empty-string regex, such as CDATA and comment blocks. Best to stick with a parser which is designed and tested for running through XML and extracting the document part by part.
If your target document is unruly HTML which an XML parser can't read, then you may have to try the replace-then-search method.