#include <StringConstants.au3> ; to declare the Constants of StringRegExp
#include <Array.au3> ; UDF needed for _ArrayDisplay and _ArrayConcatenate
Local $sRegex = "(?m)Tapper\s*(\d*(?:\.\d+)?)[\s\S]*?M845"
Local $sString = "%" & @CRLF & _
"N1 ( POSTED FILE NAME - WORKNC POST )" & @CRLF & _
"N2 ( INPUT FILE NAME - _6033_Cavity__01.TBA)" & @CRLF & _
"N3 (DATE/TIME: Thu Mar 15 06:36:08 2018)" & @CRLF & _
"N4 G0 G40 G80 G90 G98" & @CRLF & _
"N5 G17" & @CRLF & _
"N6 G57H901" & @CRLF & _
"N7 G173W0.0" & @CRLF & _
"N8 B0.000" & @CRLF & _
"N9 (Tapper 0.250000)" & @CRLF & _
"N10 T21" & @CRLF & _
"N11 M06" & @CRLF & _
"N12 S100" & @CRLF & _
"N13 M843" & @CRLF & _
"N14 G173 W0.0" & @CRLF & _
"N15 (- )" & @CRLF & _
"N16 ( Tapping )" & @CRLF & _
"N17 G0 G90 X-0.0001 Y8.8135" & @CRLF & _
"N18 G43 Z10.0632 H21" & @CRLF & _
"N19 G01 F500. X-0.0001 Y8.8135" & @CRLF & _
"N20 G01 Z9.7163 F500." & @CRLF & _
"N21 G98 G84 X-0.0001 Y8.8135 Z6.0376 R7.6376 E10." & @CRLF & _
"N22 G80 G01 F500." & @CRLF & _
"N23 X-0.0001 Y8.8135 Z9.7163" & @CRLF & _
"N24 X-0.0001 Y8.8135 Z9.7163" & @CRLF & _
"N25" & @CRLF & _
"N26 M845" & @CRLF & _
"N27 G91 G28 Z0" & @CRLF & _
"N28 G90" & @CRLF & _
"N29 G57H901" & @CRLF & _
"N30 G173W0.0" & @CRLF & _
"N31 B0.000" & @CRLF & _
"N32 (Drill 0.005000)" & @CRLF & _
"N33 T19" & @CRLF & _
"N34 M06" & @CRLF & _
"N35 S5000" & @CRLF & _
"N36 M3" & @CRLF & _
"N37 G173 W0.0" & @CRLF & _
"N38 (- )" & @CRLF & _
"N39 ( Contour Chamfer )" & @CRLF & _
"N40 G0 G90 X-0.0001 Y8.8135" & @CRLF & _
"N41 G43 Z9.7163 H19" & @CRLF & _
"N42 Z7.6375" & @CRLF & _
"N43 G01 Z9.8376 F500." & @CRLF & _
"N44 X-0.0001 Y8.8135 Z10.0632" & @CRLF & _
"N45" & @CRLF & _
"N46 M05" & @CRLF & _
"N47 G91 G28 Z0" & @CRLF & _
"N48 G90" & @CRLF & _
"N49 G57H901" & @CRLF & _
"N50 G173W0.0" & @CRLF & _
"N51 B0.000" & @CRLF & _
"N52 (Tapper 0.750000)" & @CRLF & _
"N53 T21" & @CRLF & _
"N54 M06" & @CRLF & _
"N55 S100" & @CRLF & _
"N56 M843" & @CRLF & _
"N57 G173 W0.0" & @CRLF & _
"N58 (- )" & @CRLF & _
"N59 ( Tapping )" & @CRLF & _
"N60 G0 G90 X-0.0001 Y8.8135" & @CRLF & _
"N61 G43 Z10.0632 H21" & @CRLF & _
"N62 G01 F500. X-0.0001 Y8.8135" & @CRLF & _
"N63 G01 Z9.7163 F500." & @CRLF & _
"N64 G98 G84 X-0.0001 Y8.8135 Z6.0376 R7.6376 E10." & @CRLF & _
"N65 G98 G84 X-0.0001 Y10.8135 Z6.0376 R7.6376 E10." & @CRLF & _
"N66 G80 G01 F500." & @CRLF & _
"N67 X-0.0001 Y8.8135 Z9.7163" & @CRLF & _
"N68 X-0.0001 Y8.8135 Z9.7163" & @CRLF & _
"N69" & @CRLF & _
"N70 M845" & @CRLF & _
"N71 G91 G28 Z0" & @CRLF & _
"N72 G90" & @CRLF & _
"N73 M30" & @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