#include <StringConstants.au3> ; to declare the Constants of StringRegExp
#include <Array.au3> ; UDF needed for _ArrayDisplay and _ArrayConcatenate
Local $sRegex = "(?m)(\d{5,}\S+)(?:-REV)|(\d{5,})|(\d.+)(?:-REV).+|(\b[A-Za-z0-9]+-[A-Za-z0-9]+-[A-Za-z0-9]+\b)|(\d{4,}.\S+)"
Local $sString = "SIEMENS10249071REV05" & @CRLF & _
"22D1496-REV-A" & @CRLF & _
"SANTASISE398FOP4" & @CRLF & _
"KCC C318-M-2328" & @CRLF & _
"22006-17114-REV-0" & @CRLF & _
"WELD30" & @CRLF & _
"2328ENDFIN" & @CRLF & _
"OSH4780973" & @CRLF & _
"10520398ITEM7" & @CRLF & _
"KCC C153-M-136290" & @CRLF & _
"2373 TAPER" & @CRLF & _
"SANTA ISE398 R2" & @CRLF & _
"SANTASISE398RGH1" & @CRLF & _
"34F0-010-102-REV-WELDMENT" & @CRLF & _
"14A1936D1F1-REV-NONE" & @CRLF & _
"6181194-REV-B" & @CRLF & _
"PRETE WT-80-1015BLIND" & @CRLF & _
"MAXAM340000566" & @CRLF & _
"SHARPE-36465 1ST" & @CRLF & _
"OSH 3899580" & @CRLF & _
"7494-03-301-REV-NONE" & @CRLF & _
"MAXAM340000566OP2" & @CRLF & _
"KCC C318-M-2373TAPER" & @CRLF & _
"CARDINAL36465" & @CRLF & _
"SIEMENS-10248227 REV.8" & @CRLF & _
"4212.8842-REV-Q" & @CRLF & _
"14A1936-REV-NONE" & @CRLF & _
"LATHE TOOL" & @CRLF & _
"360 YIELD 450111 RH MAIN PROGRAM;360 YIELD 450111 LH MAIN PROGRAM;450111" & @CRLF & _
"KCC C318-M-2373" & @CRLF & _
"360 YIELD 450211 RH MAIN PROGRAM;360 YIELD 450211 LH MAIN PROGRAM;450211" & @CRLF & _
"360 YIELD 450101 LH MAIN PROGRAM;450101" & @CRLF & _
"10753289-REV-02" & @CRLF & _
"30613D3-REV-05" & @CRLF & _
"30613D4-REV-05" & @CRLF & _
"OSHKOSH CORP/4381568/REV B/OP 1" & @CRLF & _
"OSHKOSH/12611249/REV A/OP1" & @CRLF & _
"14A1669 COVER-REV-J" & @CRLF & _
"OSH 4641290" & @CRLF & _
"KCC C318-M-2372" & @CRLF & _
"2328 FINISH" & @CRLF & _
"10751755-REV-2" & @CRLF & _
"312-133001-001-REV-D" & @CRLF & _
"KOOTR KT300AL OP1" & @CRLF & _
"OSHKOSH CORP/4381568/REV B/OP 2" & @CRLF & _
"360 YIELD 450201 LH MAIN PROGRAM;360 YIELD 450201 RH MAIN PROGRAM;450201" & @CRLF & _
"OSH 3899580OP2" & @CRLF & _
"10520398ITEM17" & @CRLF & _
"WELD30BIG" & @CRLF & _
"2347337-01-REV-NONE" & @CRLF & _
"2372 FINISH" & @CRLF & _
"10753199-02-REV-7" & @CRLF & _
"OSH 1693510" & @CRLF & _
"2328END" & @CRLF & _
"OSH 4384499OP2" & @CRLF & _
"E4-TKD-Z002A00KP;E4-TKD-ZOO2AOO WITH TRANSFER" & @CRLF & _
"10753199-02-REV-6" & @CRLF & _
"OSH 4384499" & @CRLF & _
"7494-04-103-REV-NONE" & @CRLF & _
"14A1669D2F1-REV-J" & @CRLF & _
"4212.8801-REV-O" & @CRLF & _
"2373 FINISH" & @CRLF & _
"2372 TAPER" & @CRLF & _
"SHARPE-36465 2ND" & @CRLF & _
"KOOTR KT300AL OP2" & @CRLF & _
"312-133034-001-REV-B" & @CRLF & _
"14A1937-REV-01" & @CRLF & _
"OSHKOSH/12611249/REV A/OP2" & @CRLF & _
"SANTASISE398FOP3" & @CRLF & _
"SIEMENS10248226REV08" & @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