#include <StringConstants.au3> ; to declare the Constants of StringRegExp
#include <Array.au3> ; UDF needed for _ArrayDisplay and _ArrayConcatenate
Local $sRegex = "(?mx)^" & @CRLF & _
"(?<Y>\d{4})-(?<M>\d{2})-(?<D>\d{2})\s(?<T>(?:\d\d\.){3}\d{3}) # Datum" & @CRLF & _
"" & @CRLF & _
"# 1 mellanslag mellan datum och övrig info" & @CRLF & _
"(?:\s" & @CRLF & _
"(?:" & @CRLF & _
"(?<msg>\p{Lu}+\s\p{Lu}+\s\p{Lu}+\s\p{Lu}+)\s+$ # 4 versala ord, sedan slut" & @CRLF & _
"|" & @CRLF & _
"(?<id1>\S+\s?\S+\s?\S+) # 3,2,1 ord" & @CRLF & _
"\s{1,2}" & @CRLF & _
"(?<status1>\S+|\S+\s\S+)\s{1,2} # 1,2 ord" & @CRLF & _
"(?<letter1>\S)?\s*$ # en bokstav i slutet på en rad (med ev. whitespace)" & @CRLF & _
")" & @CRLF & _
"|" & @CRLF & _
"# 4 mellanslag mellan datum och övrig info" & @CRLF & _
"\s{4}" & @CRLF & _
"(?<id4>\S+\s\S+(?:\s\S+\s\S+)?) # 2,4 ord" & @CRLF & _
"(?:\s{3}|\s) # 1,3 mellanslag" & @CRLF & _
"(?:" & @CRLF & _
" (?<status4>\S+\s?\S+(?:\s\S+)?) # 2,3 ord" & @CRLF & _
" | # ELLER" & @CRLF & _
" (?<statusArg>\S+\s{2}) # 1 ord och 2 mellanslag" & @CRLF & _
" (?<arg>\S+) # 1 ord" & @CRLF & _
")" & @CRLF & _
"(?:\s{4}|\s{2}) # 2,4 mellanslag" & @CRLF & _
"(?:" & @CRLF & _
" (?<letter4>\S) # 1 bokstav" & @CRLF & _
" \s{2}? # 0,2 mellanslag" & @CRLF & _
" (?<letter42>\S)?)?" & @CRLF & _
" \s*$ # ibland finns det två bokstäver (42=4 spaces, 2 bokstav)" & @CRLF & _
")"
Local $sString = "Ny loggfil skapas 2020-06-07 23:50:02" & @CRLF & _
"2020-06-08 12.56.36.000 MANUELL ÖVERKOPPLING HAR SKETT " & @CRLF & _
"2020-06-08 12.56.37.000 Ethernet anslutning A AC FEL " & @CRLF & _
"2020-06-08 12.56.38.000 FIL-SYNKRONISERING STARTAD " & @CRLF & _
"2020-06-08 12.56.39.000 Ethernet anslutning B AC FEL " & @CRLF & _
"1978-01-01 00.00.00.000 521GW A I DRIFT T " & @CRLF & _
"2020-06-08 12.56.53.000 521GW A MV/TTD-LÄNK ANSL. " & @CRLF & _
"1978-01-01 00.00.00.000 521FE A.2 I DRIFT T " & @CRLF & _
"2020-06-08 12.56.53.000 GW A FELFRI " & @CRLF & _
"1978-01-01 00.00.00.000 521PKT 13A/B I DRIFT T " & @CRLF & _
"1978-01-01 00.00.00.000 521PKT 14A/B I DRIFT T " & @CRLF & _
"2020-06-08 12.56.53.000 PKT NR. 13A/B FELFRI " & @CRLF & _
"2020-06-08 12.56.53.000 PKT NR. 14A/B FELFRI " & @CRLF & _
"1978-01-01 00.00.00.000 521FE A.1 I DRIFT T " & @CRLF & _
"2020-06-08 12.56.54.000 PKT NR. 14A/B HREP S " & @CRLF & _
"2020-06-08 12.56.54.000 521FE A.1 MV/TTD-LÄNK ANSL. " & @CRLF & _
"2020-06-08 12.56.54.000 FRONT END A:1 FELFRI " & @CRLF & _
"1980-01-01 00.00.00.000 521PKT 2 I DRIFT T " & @CRLF & _
"2020-06-08 12.56.54.000 PKT NR. 2 FELFRI " & @CRLF & _
"1980-01-01 00.00.00.000 521PKT 4 I DRIFT T " & @CRLF & _
"1980-01-01 00.00.00.000 521PKT 6 I DRIFT T " & @CRLF & _
"2020-06-08 12.56.54.000 521FE A.2 MV/TTD-LÄNK ANSL. " & @CRLF & _
"2020-06-08 12.56.54.000 PKT NR. 4 FELFRI " & @CRLF & _
"2020-06-08 12.56.54.000 PKT NR. 6 FELFRI " & @CRLF & _
"2020-06-08 12.56.54.000 FRONT END A:2 FELFRI " & @CRLF & _
"1980-01-01 00.00.00.000 521PKT 12 I DRIFT T " & @CRLF & _
"1980-01-01 00.00.00.000 521PKT 8 I DRIFT T " & @CRLF & _
"1980-01-01 00.00.00.000 521PKT 10 I DRIFT T " & @CRLF & _
"1980-01-01 00.00.00.000 521PKT 5 I DRIFT T " & @CRLF & _
"1980-01-01 00.00.00.000 521PKT 3 I DRIFT T " & @CRLF & _
"1978-01-01 00.00.00.000 521PKT 14A/B I DRIFT T " & @CRLF & _
"2020-06-08 12.56.55.000 PKT NR. 12 FELFRI " & @CRLF & _
"2020-06-08 12.56.55.000 PKT NR. 8 FELFRI " & @CRLF & _
"2020-06-08 12.56.55.000 PKT NR. 10 FELFRI " & @CRLF & _
"2020-06-08 12.56.55.000 PKT NR. 5 FELFRI " & @CRLF & _
"2020-06-08 12.56.55.000 PKT NR. 3 FELFRI " & @CRLF & _
"2020-06-08 12.56.55.000 PKT NR. 1 HREP S " & @CRLF & _
"2020-06-08 12.56.55.000 PKT NR. 14A/B HREP K " & @CRLF & _
"2020-06-08 12.56.55.000 PKT NR. 7 HREP S " & @CRLF & _
"1980-01-01 00.00.00.000 521PKT 11 I DRIFT T " & @CRLF & _
"1980-01-01 00.00.00.000 521PKT 9 I DRIFT T " & @CRLF & _
"2020-06-08 12.56.55.000 PKT NR. 11 FELFRI " & @CRLF & _
"2020-06-08 12.56.55.000 PKT NR. 9 FELFRI " & @CRLF & _
"2020-06-08 12.56.56.000 PKT NR. 1 HREP K " & @CRLF & _
"1980-01-01 00.00.00.000 521PKT 7 I DRIFT T " & @CRLF & _
"1980-01-01 00.00.00.000 521PKT 1 I DRIFT T " & @CRLF & _
"2020-06-08 12.56.56.000 PKT NR. 7 HREP K " & @CRLF & _
"2020-06-08 12.56.56.000 PKT NR. 7 FELFRI " & @CRLF & _
"2020-06-08 12.56.56.000 PKT NR. 1 FELFRI " & @CRLF & _
"2020-06-08 12.57.06.000 521FE B.1 I DRIFT R " & @CRLF & _
"2020-06-08 12.57.06.000 FRONT END B:1 FELFRI R " & @CRLF & _
"2020-06-08 12.57.07.000 521FE B.2 I DRIFT R " & @CRLF & _
"2020-06-08 12.57.07.000 FRONT END B:2 FELFRI R " & @CRLF & _
"2020-06-08 12.57.07.000 521GW B I DRIFT R " & @CRLF & _
"2020-06-08 12.57.07.000 GW B FELFRI R " & @CRLF & _
"2020-06-08 12.57.43.000 FIL-SYNKRONISERING AVSLUTAD " & @CRLF & _
"2020-06-08 12.57.51.000 Länk till BIS FEL " & @CRLF & _
"2020-06-08 12.58.07.000 Länk till BIS FELFRI " & @CRLF & _
"2020-06-08 12.58.52.000 Länk till BIS FEL R " & @CRLF & _
"2020-06-08 12.59.07.000 Länk till BIS FELFRI "
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