#include <StringConstants.au3> ; to declare the Constants of StringRegExp
#include <Array.au3> ; UDF needed for _ArrayDisplay and _ArrayConcatenate
Local $sRegex = "(?m)(?:[a-zA-Z\s]*:)\s*(.*)"
Local $sString = "Type : Requirement" & @CRLF & _
"State : Implemented" & @CRLF & _
"Release : 3.1.9 / 3.4.0 *1" & @CRLF & _
"The AFTN Message processing shall base on the following external documents:" & @CRLF & _
"[ICAO_1] ICAO Annex 10" & @CRLF & _
"[ICAO_2] ICAO Doc 4444" & @CRLF & _
"[ICAO_3] ICAO Doc 7030" & @CRLF & _
"[ICAO_4] ICAO Doc 4444 PANS ATM Amendment No1 *1" & @CRLF & _
"" & @CRLF & _
"" & @CRLF & _
"[EURO_1] ADEXP documentation" & @CRLF & _
"[EURO_2] IFPS user manual" & @CRLF & _
"" & @CRLF & _
"" & @CRLF & _
"[CFMU_1] CFMU_AIC 12.08" & @CRLF & _
"[CFMU_2] CFMU 2012 REQUIREMENTS V1.42 *1" & @CRLF & _
"[CFMU_3] CFMU INTERFACE MANUAL FOR ICAO 2012 V1.32 *1" & @CRLF & _
"" & @CRLF & _
"" & @CRLF & _
"[AIDA_1] ICD FPL AIDA AFPS v40" & @CRLF & _
"" & @CRLF & _
"" & @CRLF & _
"[FIXM_1] http://www.fixm.aero/content/fixm-core-releases (FIXM v1.1)" & @CRLF & _
"" & @CRLF & _
"" & @CRLF & _
"*1 Due to mutually contradictory between ICAO and CFMU requirements, the documents from CFMU has a higher priority."
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