#include <StringConstants.au3> ; to declare the Constants of StringRegExp
#include <Array.au3> ; UDF needed for _ArrayDisplay and _ArrayConcatenate
Local $sRegex = "(?msix)<div\s+class="asd"> # match an opening 'div' with an id that starts with 't' and some digits" & @CRLF & _
"[^<>]* # match zero or more chars other than '<' and '>'" & @CRLF & _
"( # open group 1" & @CRLF & _
" <div[^>]*> # match an opening 'div'" & @CRLF & _
" (?: # open a non-matching group" & @CRLF & _
" [^<>]* # match zero or more chars other than '<' and '>'" & @CRLF & _
" | # OR" & @CRLF & _
" (?1) # recursively match what is defined by group 1" & @CRLF & _
" )* # close the non-matching group and repeat it zero or more times" & @CRLF & _
" </div> # match a closing 'div'" & @CRLF & _
") # close group 1" & @CRLF & _
"[^<>]* # match zero or more chars other than '<' and '>'" & @CRLF & _
"</div> "
Local $sString = "<div>" & @CRLF & _
" <div class="asd">" & @CRLF & _
" <div>" & @CRLF & _
" <div>" & @CRLF & _
" Hello" & @CRLF & _
" </div>" & @CRLF & _
" </div>" & @CRLF & _
" </div>" & @CRLF & _
"</div>"
Local $aArray = StringRegExp($sString, $sRegex, $STR_REGEXPARRAYFULLMATCH)
; 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