#include <StringConstants.au3> ; to declare the Constants of StringRegExp
#include <Array.au3> ; UDF needed for _ArrayDisplay and _ArrayConcatenate
Local $sRegex = "(?mx)(?m)" & @CRLF & _
"^ " & @CRLF & _
"(?=" & @CRLF & _
" (?:" & @CRLF & _
" (?:" & @CRLF & _
" (?(1) (?!) )" & @CRLF & _
" ( . ) # (1)" & @CRLF & _
" | (?(2) (?!) )" & @CRLF & _
" (?! \1 )" & @CRLF & _
" ( . ) # (2)" & @CRLF & _
" | (?(3) (?!) )" & @CRLF & _
" (?! \1 | \2 )" & @CRLF & _
" ( . ) # (3)" & @CRLF & _
" | (?(4) (?!) )" & @CRLF & _
" (?! \1 | \2 | \3 )" & @CRLF & _
" ( . ) # (4)" & @CRLF & _
" | (?(5) (?!) )" & @CRLF & _
" (?! \1 | \2 | \3 | \4 )" & @CRLF & _
" ( . ) # (5)" & @CRLF & _
" | (?(6) (?!) )" & @CRLF & _
" (?! \1 | \2 | \3 | \4 | \5 )" & @CRLF & _
" ( . ) # (6)" & @CRLF & _
" | (?(7) (?!) )" & @CRLF & _
" (?! \1 | \2 | \3 | \4 | \5 | \6 )" & @CRLF & _
" ( . ) # (7)" & @CRLF & _
" | (?(8) (?!) )" & @CRLF & _
" (?! \1 | \2 | \3 | \4 | \5 | \6 | \7 )" & @CRLF & _
" ( . ) # (8)" & @CRLF & _
" | (?(9) (?!) )" & @CRLF & _
" (?! \1 | \2 | \3 | \4 | \5 | \6 | \7 | \8 )" & @CRLF & _
" ( . ) # (9)" & @CRLF & _
" )" & @CRLF & _
" \S*? " & @CRLF & _
" ){1,9}" & @CRLF & _
" $ " & @CRLF & _
")" & @CRLF & _
"" & @CRLF & _
"(?= (?: \1|\2|\3|\4|\5|\6|\7|\8|\9 )* $ )" & @CRLF & _
"" & @CRLF & _
"(?(DEFINE)" & @CRLF & _
" (?<one> # (8)" & @CRLF & _
" (?: (?! \1 ) . )*" & @CRLF & _
" \1 " & @CRLF & _
" ) " & @CRLF & _
" (?<two> # (9)" & @CRLF & _
" (?: (?! \2 ) . )*" & @CRLF & _
" \2 " & @CRLF & _
" ) " & @CRLF & _
" (?<three> # (10)" & @CRLF & _
" (?: (?! \3 ) . )*" & @CRLF & _
" \3 " & @CRLF & _
" ) " & @CRLF & _
" (?<four> # (11)" & @CRLF & _
" (?: (?! \4 ) . )*" & @CRLF & _
" \4 " & @CRLF & _
" ) " & @CRLF & _
" (?<five> # (12)" & @CRLF & _
" (?: (?! \5 ) . )*" & @CRLF & _
" \5 " & @CRLF & _
" ) " & @CRLF & _
" (?<six> # (13)" & @CRLF & _
" (?: (?! \6 ) . )*" & @CRLF & _
" \6 " & @CRLF & _
" ) " & @CRLF & _
" (?<seven> # (14)" & @CRLF & _
" (?: (?! \7 ) . )*" & @CRLF & _
" \7 " & @CRLF & _
" ) " & @CRLF & _
" (?<eight> # (15)" & @CRLF & _
" (?: (?! \8 ) . )*" & @CRLF & _
" \8 " & @CRLF & _
" ) " & @CRLF & _
" (?<nine> # (16)" & @CRLF & _
" (?: (?! \9 ) . )*" & @CRLF & _
" \9 " & @CRLF & _
" ) " & @CRLF & _
")" & @CRLF & _
"" & @CRLF & _
"(?: ### Times Table 9 x 9 = 81 max char string" & @CRLF & _
"" & @CRLF & _
" # 1 " & @CRLF & _
" (?(1) (?= (?&one) {1} (?! .* \1 ))" & @CRLF & _
" (?(2) (?= (?&two) {1} (?! .* \2 ))" & @CRLF & _
" (?(3) (?= (?&three){1} (?! .* \3 ))" & @CRLF & _
" (?(4) (?= (?&four) {1} (?! .* \4 ))" & @CRLF & _
" (?(5) (?= (?&five) {1} (?! .* \5 ))" & @CRLF & _
" (?(6) (?= (?&six) {1} (?! .* \6 ))" & @CRLF & _
" (?(7) (?= (?&seven){1} (?! .* \7 ))" & @CRLF & _
" (?(8) (?= (?&eight){1} (?! .* \8 ))" & @CRLF & _
" (?(9) (?= (?&nine) {1} (?! .* \9 ))" & @CRLF & _
" )))))))))" & @CRLF & _
"" & @CRLF & _
" | # 2 " & @CRLF & _
" (?(1) (?= (?&one) {2} (?! .* \1 ))" & @CRLF & _
" (?(2) (?= (?&two) {2} (?! .* \2 ))" & @CRLF & _
" (?(3) (?= (?&three){2} (?! .* \3 ))" & @CRLF & _
" (?(4) (?= (?&four) {2} (?! .* \4 ))" & @CRLF & _
" (?(5) (?= (?&five) {2} (?! .* \5 ))" & @CRLF & _
" (?(6) (?= (?&six) {2} (?! .* \6 ))" & @CRLF & _
" (?(7) (?= (?&seven){2} (?! .* \7 ))" & @CRLF & _
" (?(8) (?= (?&eight){2} (?! .* \8 ))" & @CRLF & _
" (?(9) (?= (?&nine) {2} (?! .* \9 ))" & @CRLF & _
" )))))))))" & @CRLF & _
"" & @CRLF & _
" | # 3 " & @CRLF & _
" (?(1) (?= (?&one) {3} (?! .* \1 ))" & @CRLF & _
" (?(2) (?= (?&two) {3} (?! .* \2 ))" & @CRLF & _
" (?(3) (?= (?&three){3} (?! .* \3 ))" & @CRLF & _
" (?(4) (?= (?&four) {3} (?! .* \4 ))" & @CRLF & _
" (?(5) (?= (?&five) {3} (?! .* \5 ))" & @CRLF & _
" (?(6) (?= (?&six) {3} (?! .* \6 ))" & @CRLF & _
" (?(7) (?= (?&seven){3} (?! .* \7 ))" & @CRLF & _
" (?(8) (?= (?&eight){3} (?! .* \8 ))" & @CRLF & _
" (?(9) (?= (?&nine) {3} (?! .* \9 ))" & @CRLF & _
" )))))))))" & @CRLF & _
"" & @CRLF & _
" | # 4 " & @CRLF & _
" (?(1) (?= (?&one) {4} (?! .* \1 ))" & @CRLF & _
" (?(2) (?= (?&two) {4} (?! .* \2 ))" & @CRLF & _
" (?(3) (?= (?&three){4} (?! .* \3 ))" & @CRLF & _
" (?(4) (?= (?&four) {4} (?! .* \4 ))" & @CRLF & _
" (?(5) (?= (?&five) {4} (?! .* \5 ))" & @CRLF & _
" (?(6) (?= (?&six) {4} (?! .* \6 ))" & @CRLF & _
" (?(7) (?= (?&seven){4} (?! .* \7 ))" & @CRLF & _
" (?(8) (?= (?&eight){4} (?! .* \8 ))" & @CRLF & _
" (?(9) (?= (?&nine) {4} (?! .* \9 ))" & @CRLF & _
" )))))))))" & @CRLF & _
"" & @CRLF & _
" | # 5 " & @CRLF & _
" (?(1) (?= (?&one) {5} (?! .* \1 ))" & @CRLF & _
" (?(2) (?= (?&two) {5} (?! .* \2 ))" & @CRLF & _
" (?(3) (?= (?&three){5} (?! .* \3 ))" & @CRLF & _
" (?(4) (?= (?&four) {5} (?! .* \4 ))" & @CRLF & _
" (?(5) (?= (?&five) {5} (?! .* \5 ))" & @CRLF & _
" (?(6) (?= (?&six) {5} (?! .* \6 ))" & @CRLF & _
" (?(7) (?= (?&seven){5} (?! .* \7 ))" & @CRLF & _
" (?(8) (?= (?&eight){5} (?! .* \8 ))" & @CRLF & _
" (?(9) (?= (?&nine) {5} (?! .* \9 ))" & @CRLF & _
" )))))))))" & @CRLF & _
"" & @CRLF & _
" | # 6 " & @CRLF & _
" (?(1) (?= (?&one) {6} (?! .* \1 ))" & @CRLF & _
" (?(2) (?= (?&two) {6} (?! .* \2 ))" & @CRLF & _
" (?(3) (?= (?&three){6} (?! .* \3 ))" & @CRLF & _
" (?(4) (?= (?&four) {6} (?! .* \4 ))" & @CRLF & _
" (?(5) (?= (?&five) {6} (?! .* \5 ))" & @CRLF & _
" (?(6) (?= (?&six) {6} (?! .* \6 ))" & @CRLF & _
" (?(7) (?= (?&seven){6} (?! .* \7 ))" & @CRLF & _
" (?(8) (?= (?&eight){6} (?! .* \8 ))" & @CRLF & _
" (?(9) (?= (?&nine) {6} (?! .* \9 ))" & @CRLF & _
" )))))))))" & @CRLF & _
"" & @CRLF & _
" | # 7 " & @CRLF & _
" (?(1) (?= (?&one) {7} (?! .* \1 ))" & @CRLF & _
" (?(2) (?= (?&two) {7} (?! .* \2 ))" & @CRLF & _
" (?(3) (?= (?&three){7} (?! .* \3 ))" & @CRLF & _
" (?(4) (?= (?&four) {7} (?! .* \4 ))" & @CRLF & _
" (?(5) (?= (?&five) {7} (?! .* \5 ))" & @CRLF & _
" (?(6) (?= (?&six) {7} (?! .* \6 ))" & @CRLF & _
" (?(7) (?= (?&seven){7} (?! .* \7 ))" & @CRLF & _
" (?(8) (?= (?&eight){7} (?! .* \8 ))" & @CRLF & _
" (?(9) (?= (?&nine) {7} (?! .* \9 ))" & @CRLF & _
" )))))))))" & @CRLF & _
"" & @CRLF & _
" | # 8 " & @CRLF & _
" (?(1) (?= (?&one) {8} (?! .* \1 ))" & @CRLF & _
" (?(2) (?= (?&two) {8} (?! .* \2 ))" & @CRLF & _
" (?(3) (?= (?&three){8} (?! .* \3 ))" & @CRLF & _
" (?(4) (?= (?&four) {8} (?! .* \4 ))" & @CRLF & _
" (?(5) (?= (?&five) {8} (?! .* \5 ))" & @CRLF & _
" (?(6) (?= (?&six) {8} (?! .* \6 ))" & @CRLF & _
" (?(7) (?= (?&seven){8} (?! .* \7 ))" & @CRLF & _
" (?(8) (?= (?&eight){8} (?! .* \8 ))" & @CRLF & _
" (?(9) (?= (?&nine) {8} (?! .* \9 ))" & @CRLF & _
" )))))))))" & @CRLF & _
"" & @CRLF & _
" | # 9 " & @CRLF & _
" (?(1) (?= (?&one) {9} (?! .* \1 ))" & @CRLF & _
" (?(2) (?= (?&two) {9} (?! .* \2 ))" & @CRLF & _
" (?(3) (?= (?&three){9} (?! .* \3 ))" & @CRLF & _
" (?(4) (?= (?&four) {9} (?! .* \4 ))" & @CRLF & _
" (?(5) (?= (?&five) {9} (?! .* \5 ))" & @CRLF & _
" (?(6) (?= (?&six) {9} (?! .* \6 ))" & @CRLF & _
" (?(7) (?= (?&seven){9} (?! .* \7 ))" & @CRLF & _
" (?(8) (?= (?&eight){9} (?! .* \8 ))" & @CRLF & _
" (?(9) (?= (?&nine) {9} (?! .* \9 ))" & @CRLF & _
" )))))))))" & @CRLF & _
")" & @CRLF & _
".*"
Local $sString = "------------------------------" & @CRLF & _
"match_words = " & @CRLF & _
"------------------------------" & @CRLF & _
"arraigning" & @CRLF & _
"nonordered" & @CRLF & _
"abadbacdcacbdbdc" & @CRLF & _
"mesosome" & @CRLF & _
"ananna" & @CRLF & _
"unendued" & @CRLF & _
"tromometer" & @CRLF & _
"caucasus" & @CRLF & _
"intestines" & @CRLF & _
"i" & @CRLF & _
"deed" & @CRLF & _
"horseshoer" & @CRLF & _
"happenchance" & @CRLF & _
"reappear" & @CRLF & _
"deeded" & @CRLF & _
"pullup" & @CRLF & _
"arraigning" & @CRLF & _
"testes" & @CRLF & _
"mononymy" & @CRLF & _
"scintillescent" & @CRLF & _
"couscous" & @CRLF & _
"" & @CRLF & _
"------------------------------" & @CRLF & _
"not_match_words = " & @CRLF & _
"------------------------------" & @CRLF & _
"edified" & @CRLF & _
"unreverberating" & @CRLF & _
"underpass" & @CRLF & _
"interinsert" & @CRLF & _
"pilfered" & @CRLF & _
"nippiness" & @CRLF & _
"gregarinian" & @CRLF & _
"deicide" & @CRLF & _
"nonaristocratic" & @CRLF & _
"rototiller" & @CRLF & _
"ozonizing" & @CRLF & _
"museums" & @CRLF & _
"backbreaker" & @CRLF & _
"interradiated" & @CRLF & _
"antistalling" & @CRLF & _
"naturalize" & @CRLF & _
"equitriangular" & @CRLF & _
"reparticipate" & @CRLF & _
"ppd" & @CRLF & _
"miasmas" & @CRLF & _
"cabbage" & @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