#include <StringConstants.au3> ; to declare the Constants of StringRegExp
#include <Array.au3> ; UDF needed for _ArrayDisplay and _ArrayConcatenate
Local $sRegex = "(?msx)(?=<div[ ]class="aawp">) # El primer div debe ser con clase aawp" & @CRLF & _
"( # primer grupo (será la base de la recursividad)" & @CRLF & _
"" & @CRLF & _
" #--- Opciones ---#" & @CRLF & _
" # Cualquier cosa salvo <> una o más veces" & @CRLF & _
" [^<>]+" & @CRLF & _
" # Cualquier etiqueta vacía (void element)" & @CRLF & _
" | <(?=area|base|br|col|embed|hr" & @CRLF & _
" |img|input|link|meta|param|source" & @CRLF & _
" |track|wbr)\w+[^>]*>" & @CRLF & _
" # Comentarios html" & @CRLF & _
" | <!-- .*? -->" & @CRLF & _
" # Cualquier otra etiqueta (puede tener anidación)" & @CRLF & _
" # Recursividad con grupo 1 (?1). El grupo 2 se usa para " & @CRLF & _
" # cerrar la misma etiqueta original" & @CRLF & _
" | <(\w+)[^>]*>(?1)*</\2>" & @CRLF & _
")" & @CRLF & _
""
Local $sString = "<div class="aawp">" & @CRLF & _
"<br>" & @CRLF & _
"<div>" & @CRLF & _
" <div>asd</div>" & @CRLF & _
"</div>" & @CRLF & _
"</div>" & @CRLF & _
"" & @CRLF & _
"<div class="aawp">" & @CRLF & _
" <div id="aawp-tb-445">" & @CRLF & _
" <div class="aawp-tb aawp-tb--desktop aawp-tb--cols-5 aawp-tb--hide-labe">" & @CRLF & _
" <a>a</a>" & @CRLF & _
" <br />" & @CRLF & _
" <img src="abc">" & @CRLF & _
" <hr>" & @CRLF & _
" </div>" & @CRLF & _
" <div class="aawp-tb aawp-tb--desktop aawp-tb--cols-5 aawp-tb--hide-labe">" & @CRLF & _
" ..." & @CRLF & _
" </div>" & @CRLF & _
" <div class="aawp-tb aawp-tb--desktop aawp-tb--cols-5 aawp-tb--hide-labe">" & @CRLF & _
" ..." & @CRLF & _
" </div>" & @CRLF & _
" </div>" & @CRLF & _
"</div>" & @CRLF & _
"" & @CRLF & _
"<div class="aawp">" & @CRLF & _
" ..." & @CRLF & _
"</div>" & @CRLF & _
"" & @CRLF & _
"<div class="aawp">" & @CRLF & _
" <div id="aawp-tb-445">" & @CRLF & _
" <div class="aawp-tb aawp-tb--desktop aawp-tb--cols-5 aawp-tb--hide-labe">" & @CRLF & _
" ..." & @CRLF & _
" </div>" & @CRLF & _
" </div>" & @CRLF & _
"</div>" & @CRLF & _
"" & @CRLF & _
"" & @CRLF & _
"<div class="aawp">" & @CRLF & _
" <div> x </div>" & @CRLF & _
" <div> x </div>" & @CRLF & _
"</div>" & @CRLF & _
"" & @CRLF & _
"" & @CRLF & _
""
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