Q:

Allow '@' inside string regex

I'm parsing some HTML and using a regular expression, currently I have:
(? <='>)(.*?\w)(?=<)

The source is a little messy:
 <tr style='mso-yfti-irow:2;height:17.15pt'>
  <td width=319 valign=top style='width:239.4pt;background:#C0504D;padding:
  0cm 5.4pt 0cm 5.4pt;height:17.15pt'>
  <p class=MsoNormal><b><span style='color:white'>Personal Email Address<o:p></o:p></span></b></p>
  </td>
  <td width=319 valign=top style='width:239.4pt;padding:0cm 5.4pt 0cm 5.4pt;
  height:17.15pt'>
  <p class=MsoNormal><span style='color:#1F497D'><a
  href="mailto:djmarkjohnstone@hotmail.com">email@addr.com</a></span><span
  style='color:#0070C0'><o:p></o:p></span></p>
  </td>

The result (from the fully parsed source code):

1: Name 1: John Smith 1: Personal Email Address 1: Start Date 1:
  13/07/2014 1: End Date 1: 31/08/2014 1: Cost Centre 1: Building 1:
  Date of Birth 1: 15/04/1978

It refuses to capture the email address because of the '@'.  
How would I capture the @ within my regex? 
UPDATE:
(? <='>)(.*?\w)(?=<)

The issue seems to be with the apostrophe not the '@', 
how would I add OR ">

A:

The problem mainly with the quotes not with the @ symbol,
(? <='>|">)(.*?\w)(?=<)

DEMO
The above regex would looks after to the '> or "> and does a shortest match where the last character must be a word character followed by < symbol.