#include <StringConstants.au3> ; to declare the Constants of StringRegExp
#include <Array.au3> ; UDF needed for _ArrayDisplay and _ArrayConcatenate
Local $sRegex = "(?mx)^\d+:\s+" & @CRLF & _
"(" & @CRLF & _
" ((A(A(AB)*B)*B)|(B(B(BA)*A)*A))*" & @CRLF & _
"|(((A(A(AB)*B)*B)|(B(B(BA)*A)*A))*A(A(AB)*B)*)" & @CRLF & _
"|(((A(A(AB)*B)*B)|(B(B(BA)*A)*A))*A(A(AB)*B)*A(AB)*)" & @CRLF & _
"|(((A(A(AB)*B)*B)|(B(B(BA)*A)*A))*A(A(AB)*B)*A(AB)*A)" & @CRLF & _
"|(((A(A(AB)*B)*B)|(B(B(BA)*A)*A))*B(B(BA)*A)*)" & @CRLF & _
"|(((A(A(AB)*B)*B)|(B(B(BA)*A)*A))*B(B(BA)*A)*B(BA)*)" & @CRLF & _
"|(((A(A(AB)*B)*B)|(B(B(BA)*A)*A))*B(B(BA)*A)*B(BA)*B)" & @CRLF & _
")$"
Local $sString = "4: AAAA" & @CRLF & _
"3: AAA" & @CRLF & _
"2: AA" & @CRLF & _
"1: A" & @CRLF & _
"4: BBBB" & @CRLF & _
"3: BBB" & @CRLF & _
"2: BB" & @CRLF & _
"1: B" & @CRLF & _
"2: AABBBBAAAABBBBAAAABBBB" & @CRLF & _
"3: AAABBBBAAABBBBAAAABBB" & @CRLF & _
"5: AAAAABBBBAAAABBBBAAAABB" & @CRLF & _
"3: AABBBAAAABBBBAAAABBBBAAA" & @CRLF & _
"4: AAABBBAAAABBBBAAAABBBBAA" & @CRLF & _
"1: ABABABABABABABABABABABABABABAB" & @CRLF & _
"8: AAAAAABBBBAAAAABBBBAAAAABBBB" & @CRLF & _
"2: AABBBBAAAABBBBAAAABBBBAAAAB" & @CRLF & _
"4: AAAABBBAAABBBAAABBBAAABBB" & @CRLF & _
"8: ABBBAAAABBAAAABBAAAABBAAAABB" & @CRLF & _
"5: AAABBBBAAAABBBAAAABBBAAAABB" & @CRLF & _
"1: ABABABABABABABABABABABABABABABAB" & @CRLF & _
"10: AAAAAABBBBAAAAAABBBBAAAAAABBBB" & @CRLF & _
"2: AABBBBAAAABBBBAAAABBBBAAAABB" & @CRLF & _
"4: AAAABBBAAABBBAAABBBAAABBBAA" & @CRLF & _
"8: ABBBAAAABBAAAABBAAAABBAAAAB" & @CRLF & _
"5: AAABBBBAAAABBBAAAABBBAAAAB" & @CRLF & _
"1: ABABABABABABABABABABABABABABAB" & @CRLF & _
"10: AAAAAABBBBAAAAAABBBBAAAAAABBB" & @CRLF & _
"2: AABBBBAAAABBBBAAAABBBBAAAABB" & @CRLF & _
"4: AAAABBBAAABBBAAABBBAAABBBAAA" & @CRLF & _
"8: ABBBAAAABBAAAABBAAAABBAAAABB" & @CRLF & _
"5: AAABBBBAAAABBBAAAABBBAAAABB" & @CRLF & _
"1: ABABABABABABABABABABABABABABABABAB" & @CRLF & _
"10: AAAAAABBBBAAAAAABBBBAAAAAABBBB" & @CRLF & _
"2: AABBBBAAAABBBBAAAABBBBAAAABB" & @CRLF & _
"4: AAAABBBAAABBBAAABBBAAABBBAAAB" & @CRLF & _
"8: ABBBAAAABBAAAABBAAAABBAAAABBB" & @CRLF & _
"5: AAABBBBAAAABBBAAAABBBAAAABBAA" & @CRLF & _
"1: ABABABABABABABABABABABABABABABABABAB"
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