#include <StringConstants.au3> ; to declare the Constants of StringRegExp
#include <Array.au3> ; UDF needed for _ArrayDisplay and _ArrayConcatenate
Local $sRegex = "(?i)\s+TRN\s+[a-z\d]+\s+\d+\s+(\s+\d+\s+)\w+(\s+\d{2}\w{3}\s+)\d\s([a-z]{5})\s+([a-z]{5})\s[a-z\d]+\s+[\D]+(\d{4}|\d{0})\s+(\d{4}|\d{0})"
Local $sString = "4 TRN 2C 87 6628 AF 26NOV 4 FRLPD FRPLY HK1 1800 2007 " & @CRLF & _
"3 TRN 2C 87 5266 BI 16NOV 1 FRBOJ FRMLV HK PAST 3333 3333*" & @CRLF & _
"4 TRN 2C 87 5454 BI 19NOV 4 FRMLV FRBOJ HK PAST *" & @CRLF & _
"3 TRN 2C 87 5266 BI 16NOV 1 FRBOJ FRMLV HK PAST *" & @CRLF & _
"4 TRN 2C 87 5454 BI 19NOV 4 FRMLV FRBOJ HK PAST *" & @CRLF & _
"3 TRN 2C 87 6609 AF 23NOV 1 FRPLY FRLPD HK PAST *" & @CRLF & _
"4 TRN 2C 87 6628 AF 26NOV 4 FRLPD FRPLY HK1 1800 2007" & @CRLF & _
"3 TRN 2C 87 6817 AF 25NOV 3 FRLPD FRBZR HK1 1810 2047" & @CRLF & _
" FRLPD/LYON PART DIEU//FRBZR/BEZIERS /TGD *" & @CRLF & _
"4 TRN 2C 87 6860 AF 27NOV 5 FRBZR FRLPD HK1 1618 1850" & @CRLF & _
" FRBZR/BEZIERS//FRLPD/LYON PART DIEU /TGD *" & @CRLF & _
"3 TRN 2C 87 6201 BF 23NOV 1 FRPLY FRVLA HK PAST *" & @CRLF & _
"4 TRN 2C 87 6194 BF 24NOV 2 FRVAF FRPLY HK1 0843 1110" & @CRLF & _
" FRVAF/VALENCE VILLE//FRPLY/PARIS GARE LYON /TGD *" & @CRLF & _
"3 TRN 2C 87 3101 B 24NOV 2 FRPSL FRAEZ HK1 0653 0903" & @CRLF & _
" FRPSL/PARIS ST LAZARE//FRAEZ/LE HAVRE /TIB *" & @CRLF & _
"4 TRN 2C 87 3130 A 25NOV 3 FRAEZ FRPSL HK1 1757 2010" & @CRLF & _
" FRAEZ/LE HAVRE//FRPSL/PARIS ST LAZARE /TIB *" & @CRLF & _
"3 TRN 2C 87 6700 BF 26NOV 4 FRAEK FRPLY HK1 0542 0837" & @CRLF & _
" FRAEK/MULHOUSE VILLE//FRPLY/PARIS GARE LYON /TGD *" & @CRLF & _
"4 TRN 2C 87 9223 BF 27NOV 5 FRPLY FRAEK HK1 1823 2103" & @CRLF & _
" FRPLY/PARIS GARE LYON//FRAEK/MULHOUSE VILLE /TGL *" & @CRLF & _
"3 TRN 2C 87 5352 BF 26NOV 4 FRLPD FRDJU HK1 0629 0835" & @CRLF & _
" FRLPD/LYON PART DIEU//FRDJU/MASSY TGV /TGD *" & @CRLF & _
"4 TRN 2C 87 5233 BF 26NOV 4 FRDJU FRRNS HK1 1538 1747" & @CRLF & _
" FRDJU/MASSY TGV//FRRNS/RENNES /TGA *" & @CRLF & _
"5 TRN 2C 87 5346 BF 27NOV 5 FRRNS FRLPD HK1 1609 2030" & @CRLF & _
" FRRNS/RENNES//FRLPD/LYON PART DIEU /TGD *" & @CRLF & _
"3 TRN 2C 87 6602 BF 30NOV 1 FRLPD FRPLY HK1 0602 0813" & @CRLF & _
" FRLPD/LYON PART DIEU//FRPLY/PARIS GARE LYON /TGD *" & @CRLF & _
"4 TRN 2C 87 6629 BF 04DEC 5 FRPLY FRLPD HK1 1857 2057" & @CRLF & _
" FRPLY/PARIS GARE LYON//FRLPD/LYON PART DIEU /TGD"
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