#include <StringConstants.au3> ; to declare the Constants of StringRegExp
#include <Array.au3> ; UDF needed for _ArrayDisplay and _ArrayConcatenate
Local $sRegex = "(?m)^(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])[\w!@#$%]{6,}$"
Local $sString = "INVALID:" & @CRLF & _
"abcdefg" & @CRLF & _
"abc" & @CRLF & _
"abcdefghji" & @CRLF & _
"abCDEFghij" & @CRLF & _
"1234efghij" & @CRLF & _
"abcde6789" & @CRLF & _
"ab!67fghij" & @CRLF & _
"ab)=" & @CRLF & _
"" & @CRLF & _
"VALID:" & @CRLF & _
"8vB0k3XiLp" & @CRLF & _
"VvsfM5he#X" & @CRLF & _
"d10STfJ$gA" & @CRLF & _
"R1cIX7mn8T" & @CRLF & _
"6EDNTbda%z" & @CRLF & _
"IKkED0#zYS" & @CRLF & _
"1S#9duFcHe" & @CRLF & _
"KP1fN3jTwJ" & @CRLF & _
"iRS1YB@nfI" & @CRLF & _
"Vp1yRxwuGD" & @CRLF & _
"fajT2ukURg" & @CRLF & _
"9tY8#HkojR" & @CRLF & _
"@LHTbA3C7J" & @CRLF & _
"%HLK6EqANV" & @CRLF & _
"#vZR6in5KJ" & @CRLF & _
"!WwjH3K65v" & @CRLF & _
"%5WOIrCv@R" & @CRLF & _
"emfpLRE5oD" & @CRLF & _
"zREw13rcJn" & @CRLF & _
"#NU42oxYa0" & @CRLF & _
"$oujwK%xR7" & @CRLF & _
"1YH#uOFQlV" & @CRLF & _
"L936DS2ynR" & @CRLF & _
"ab4RAVCZHv" & @CRLF & _
"9xwiZmDSAd" & @CRLF & _
"eZjPHg3B8i" & @CRLF & _
"OANw!p8yxH" & @CRLF & _
"J6efM@hxNz" & @CRLF & _
"qvmefZI3Wn" & @CRLF & _
"fH9wXGK8ZI" & @CRLF & _
"eHcl3qRYGS" & @CRLF & _
"i8we0zpOvr" & @CRLF & _
"1kpSFgeIKA" & @CRLF & _
"p8eM@FtZ9n" & @CRLF & _
"rj95zq!E3I" & @CRLF & _
"lkDKt@486w" & @CRLF & _
"7!j50lyxgB" & @CRLF & _
"%vBCxLq6Ym" & @CRLF & _
"@ky$u9iSGm" & @CRLF & _
"%QD9jA6Lm@" & @CRLF & _
"JolTzf7gUr" & @CRLF & _
"cSRe%v46Or" & @CRLF & _
"oJVlc#Gdn3" & @CRLF & _
"G!%NF0XESp" & @CRLF & _
"76dMFmbf%X" & @CRLF & _
"3JQlSRiXLj" & @CRLF & _
"Y$!%WCgti0" & @CRLF & _
"D1k$#ThiqG" & @CRLF & _
"M6tPY$XzQp" & @CRLF & _
"@gUcrWm7zA" & @CRLF & _
"1xc#hwGj0D" & @CRLF & _
"s8p#S$ZkWP" & @CRLF & _
"sIP3dQL#4j" & @CRLF & _
"bBLEnvlFI3" & @CRLF & _
"isSeP4AC%w" & @CRLF & _
"1OsdI4iCjR" & @CRLF & _
"@p#qm$NA9Z" & @CRLF & _
"guPjtIp5!i" & @CRLF & _
"a84ONQRZXY" & @CRLF & _
"homJ9T6w80" & @CRLF & _
"$!uh09kaUO" & @CRLF & _
"CTIX7vsalJ" & @CRLF & _
"2CASR7IUyY" & @CRLF & _
"Tr1jl!oKPF" & @CRLF & _
"2%ar6kMCZe" & @CRLF & _
"m4TrLJC!cD" & @CRLF & _
"3E#mZ!jrdn" & @CRLF & _
"oZIa$xmDU8" & @CRLF & _
"9wXxBaJAyz" & @CRLF & _
"0%dNQfyr$e" & @CRLF & _
"ez#IcxH8SX" & @CRLF & _
"MF$m6wile%" & @CRLF & _
"ilo3FURh9t" & @CRLF & _
"d71hgGe5Vo" & @CRLF & _
"KEr9u7CRtP" & @CRLF & _
"CfUE4Fj$Ju" & @CRLF & _
"aXSG5wIQor" & @CRLF & _
"VTk2fmDlbx" & @CRLF & _
"GHxBwpt0dN" & @CRLF & _
"mYS2Q1zFi!" & @CRLF & _
"qD0KiayFz4" & @CRLF & _
"hT9FrGQ$dS" & @CRLF & _
"5eKrEvnBZA" & @CRLF & _
"gA$fXPUd2#" & @CRLF & _
"Eoz8uqBART" & @CRLF & _
"7wKEo6jJGX" & @CRLF & _
"1p4Zj7Ssk2" & @CRLF & _
"K#MX8Q61dr" & @CRLF & _
"L%S2Kh7Q@r" & @CRLF & _
"fwD6zy$NM@" & @CRLF & _
"zyJPri5u7N" & @CRLF & _
"MyAI!j2iz%" & @CRLF & _
"9blWdD5!w@" & @CRLF & _
"iw6Ef3dBLk" & @CRLF & _
"JMYD1iHol2" & @CRLF & _
"#M1OUJ0VDi" & @CRLF & _
"e@78BCHLI%" & @CRLF & _
"oeD1F!4ifz" & @CRLF & _
"pCblno9zyJ" & @CRLF & _
"FJKErsBTp6"
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