#include <StringConstants.au3> ; to declare the Constants of StringRegExp
#include <Array.au3> ; UDF needed for _ArrayDisplay and _ArrayConcatenate
Local $sRegex = "(?mi)<\w+.*?([\w-]+=["']*\s*(?:\w+\s*)*[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,}\s*(?:['"]?(?:\w+\s*)*['"]?)?["']*).*?>"
Local $sString = "<br data-a1="nope" attr=" jepp@get.me " data-a2="nope">" & @CRLF & _
"<br data-a1="nope" attr=' jepp@get.me ' data-a2="nope">" & @CRLF & _
"<br data-a1="nope" attr=jepp@get.me data-a2="nope">" & @CRLF & _
"<br data-a1="nope" attr=" jepp@get.me " data-a2="nope"/>" & @CRLF & _
"<br data-a1="nope" attr=" jepp@get.me " data-a2="nope" />" & @CRLF & _
"<tag data-a1="nope" attr=" jepp@get.me " data-a2="nope">text</tag>" & @CRLF & _
"<tag data-a1="nope" attr=' jepp@get.me ' data-a2="nope">text</tag>" & @CRLF & _
"<tag data-a1="nope" attr=jepp@get.me data-a2="nope">text</tag>" & @CRLF & _
"<tag data-a1="nope" attr=" additional text jepp@get.me 'additional text'" data-a2="nope">text</tag>" & @CRLF & _
"<tag data-a1="nope" attr=" additional text jepp@get.me additional text" data-a2="nope">text</tag>" & @CRLF & _
"<tag data-a1="nope" attr=' additional text jepp@get.me "additional text"' data-a2="nope">text</tag>" & @CRLF & _
"<tag data-a1="nope" attr=" jepp@get.me jeppagain@get.me " data-a2="nope">text</tag>" & @CRLF & _
"abc dont@get.me 123 <input value="please@get.me">xyz" & @CRLF & _
"abc dont@get.me 123 <tag1 att1="val1" email1="please@get.me">xyz" & @CRLF & _
"abc dont@get.me 123 <tag2 att1="val1" email2="please@get.me" att1="val1">xyz" & @CRLF & _
"<tag2 att1="val1" email3='please@get.me' att1="val1">xyz" & @CRLF & _
"<tag2 att1="val1" email4=please@get.me att1="val1">xyz" & @CRLF & _
"<tag2 att1="val1" email5=" please@get.me " att1="val1">xyz" & @CRLF & _
"<tag2 att1="val1" email6=' please@get.me ' att1="val1">xyz" & @CRLF & _
"<tag data-yeah-also-valid-attr-name="please@get.me">xyz" & @CRLF & _
"<tag data-yeah-attr="please@get.me">" & @CRLF & _
"<tag data-yeah-attr='please@get.me'>" & @CRLF & _
"<tag data-yeah-attr=please@get.me>" & @CRLF & _
"<tag data-yeah-attr="'please@get.me'">" & @CRLF & _
"<tag data-yeah-attr='"please@get.me"'>"
Local $aArray = StringRegExp($sString, $sRegex, $STR_REGEXPARRAYGLOBALFULLMATCH)
Local $aFullArray[0]
For $i = 0 To UBound($aArray) -1
_ArrayConcatenate($aFullArray, $aArray[$i])
Next
$aArray = $aFullArray
; Present the entire match result
_ArrayDisplay($aArray, "Result")
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for AutoIt, please visit: https://www.autoitscript.com/autoit3/docs/functions/StringRegExp.htm