I need to highlight an email addresses in text but not highlight them if contained in HTML tags, content, or attributes.
For example, the string example@example.com must be converted to <a href="mailto:example@example.com">example@example.com</a>开发者_Python百科
But email addresses in the string <a href="mailto:example@example.com">example@example.com</a> must not be processed.
I've tried something like this regexp:
(?<![":])[a-zA-Z0-9._%-+]+@[a-zA-Z0-9._%-]+.[a-zA-Z]{2,6}(?!")
but it doesn't work properly.
I'll guessing that your source text is an HTML file which is missing anchor tags for only some of the contained e-mail addresses. If this is true, then you will not be able to use a regexp to reliably match only untagged e-mail addresses. For example, given the input:
...
<P>You'll find a lot more written by <A 
href="mailto:SvartaIF@example.com"
title="some text including an@sign.org">
SvartaIF@example.com
</A>.
</P>
...
it becomes impossible to lexically associate the href with the address and also exclude an@sign.org. You need to use an HTML parser; BeautifulSoup is pretty popular.
 
         
                                         
                                         
                                         
                                        ![Interactive visualization of a graph in python [closed]](https://www.devze.com/res/2023/04-10/09/92d32fe8c0d22fb96bd6f6e8b7d1f457.gif) 
                                         
                                         
                                         
                                         加载中,请稍侯......
 加载中,请稍侯......
      
精彩评论