#include <StringConstants.au3> ; to declare the Constants of StringRegExp
#include <Array.au3> ; UDF needed for _ArrayDisplay and _ArrayConcatenate
Local $sRegex = "([0-9]{3})([0-9]{3})(G|M|R|T{1})([0-9]{1,4}|[0-9]{1,3}K{0,1})(-)([0-9]{1,4}|[0-9]{1,3}K{0,1})(CM|FT|HM|HF|IN|KF|KM|MM|M|NM|SM|YD{1,2})"
Local $sString = "//Good Data" & @CRLF & _
"123345T1234-5678KM" & @CRLF & _
"000001T1234-5678KM" & @CRLF & _
"001001T1234-5678KM" & @CRLF & _
"011001T1234-567KM" & @CRLF & _
"011011T1234-567KM" & @CRLF & _
"011111T1234-567KM" & @CRLF & _
"123345T123-5678KM" & @CRLF & _
"123345T123-567KM" & @CRLF & _
"123345T123-56KM" & @CRLF & _
"123345T12-56KM" & @CRLF & _
"123345T12-5KM" & @CRLF & _
"123345T1-5KM" & @CRLF & _
"123345T1234-567KM" & @CRLF & _
"123345T1234-567HF" & @CRLF & _
"123345T1234-567SM" & @CRLF & _
"123345T123-5678KM" & @CRLF & _
"123345T1234-567KKM" & @CRLF & _
"123345T123-567KKM" & @CRLF & _
"123345T123-567KHF" & @CRLF & _
"123345T123-567KSM" & @CRLF & _
"123345T123-56KKM" & @CRLF & _
"123345T12-56KKM" & @CRLF & _
"123345T12-5KKM" & @CRLF & _
"123345T12-5KKM" & @CRLF & _
"123345T1-5KKM" & @CRLF & _
"000359T1234-5678KM" & @CRLF & _
"123345T123K-5678KM" & @CRLF & _
"123345T12K-5678KM" & @CRLF & _
"123345T6K-5678KM" & @CRLF & _
"123345T123K-567KKM" & @CRLF & _
"123345T12K-56KKM" & @CRLF & _
"123345T6K-5KKM" & @CRLF & _
"123345T1234-5678M" & @CRLF & _
"" & @CRLF & _
"//Bad Data " & @CRLF & _
"1234567T1234-5678KM" & @CRLF & _
"12345T1234-5678KM" & @CRLF & _
"1245T1234-5678KM" & @CRLF & _
"145T1234-5678KM" & @CRLF & _
"14T1234-5678KM" & @CRLF & _
"1T1234-5678KM" & @CRLF & _
"123360T1234-5678KM" & @CRLF & _
"123345V1234-5678KM" & @CRLF & _
"123345T12345-5678KM" & @CRLF & _
"123345T1234-56789KM" & @CRLF & _
"123345T-5678KM" & @CRLF & _
"123345T123-KM" & @CRLF & _
"123345T123-56KMK" & @CRLF & _
"123345T1234-56KMK" & @CRLF & _
"123345T12-5678KKM" & @CRLF & _
"123345T1-5" & @CRLF & _
"123345T1234567KM" & @CRLF & _
"123345T1235678KKM" & @CRLF & _
"123345!56T123-567KKM" & @CRLF & _
"123!345T123-567KKM" & @CRLF & _
"123345T12!3-56KKM" & @CRLF & _
"123345T12-5!6KKM" & @CRLF & _
"123345T12-5K!KM" & @CRLF & _
"1233457T1234-5678K" & @CRLF & _
"123345T1234-5678GH" & @CRLF & _
"123345T1234-5678MK" & @CRLF & _
"123345T1234-5678UUUU" & @CRLF & _
" " & @CRLF & _
" null" & @CRLF & _
" " & @CRLF & _
"000359T1234K-5678KM" & @CRLF & _
"123345TK-5678KM" & @CRLF & _
"123345T1234--5678KM" & @CRLF & _
"" & @CRLF & _
"" & @CRLF & _
"" & @CRLF & _
""
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