#include <StringConstants.au3> ; to declare the Constants of StringRegExp
#include <Array.au3> ; UDF needed for _ArrayDisplay and _ArrayConcatenate
Local $sRegex = "(?m)[0-9]+:[0-9]+:?\s*(?:\[?warning\]?|\[?error\]?)|(?:::warning file=|::error file=)"
Local $sString = "PARSABLE" & @CRLF & _
"" & @CRLF & _
"[yamllint] TEST FILES/yaml/yml_bad_1.yml - ERROR - 2 error(s)" & @CRLF & _
"--Error detail:" & @CRLF & _
"TEST FILES/yaml/yml_bad_1.yml:0:1: [warning] missing document start "---" (document-start)" & @CRLF & _
"TEST FILES/yaml/yml_bad_1.yml:11:16: error] syntax error: mapping values are not allowed here (syntax)" & @CRLF & _
"" & @CRLF & _
"[yamllint] TEST FILES/yaml/yml_bad_2.yml - ERROR - 2 error(s)" & @CRLF & _
"--Error detail:" & @CRLF & _
"TEST FILES/yaml/yml_bad_2.yml:10:1: [warning] missing document start "---" (document-start)" & @CRLF & _
"TEST FILES/yaml/yml_bad_2.yml:11:1116: [error] syntax error: mapping values are not allowed here (syntax)" & @CRLF & _
"" & @CRLF & _
"[yamllint] TEST FILES/yaml_schema/bad/action.yml - ERROR - 2 error(s)" & @CRLF & _
"--Error detail:" & @CRLF & _
"TEST FILES/yaml_schema/bad/action.yml:1:1: [warning] missing document start "---" (document-start)" & @CRLF & _
"TEST FILES/yaml_schema/bad/action.yml:2:1: [error] too many blank lines (1 > 0) (empty-lines)" & @CRLF & _
"" & @CRLF & _
"COLORED" & @CRLF & _
"[Tap Reporter] Generated TAP report: /tmp/lint/megalinter-reports/tap/mega-linter-YAML_PRETTIER.tap" & @CRLF & _
"❌ Linted [YAML] files with [yamllint]: Found 6 error(s) - (1.36s)" & @CRLF & _
"- Using [yamllint v1.35.1] https://megalinter.io/All_Fixes_Together/descriptors/yaml_yamllint" & @CRLF & _
"- MegaLinter key: [YAML_YAMLLINT]" & @CRLF & _
"- Rules config: [/_Pipelines/LinterRules/.yamllint.yml]" & @CRLF & _
"- Number of files analyzed: [10]" & @CRLF & _
"[yamllint] TEST FILES/yaml/yml_bad_1.yml - ERROR - 2 error(s)" & @CRLF & _
"--Error detail:" & @CRLF & _
"TEST FILES/yaml/yml_bad_1.yml" & @CRLF & _
" 10:1 warning missing document start "---" (document-start)" & @CRLF & _
" 11:16 error syntax error: mapping values are not allowed here (syntax)" & @CRLF & _
"" & @CRLF & _
"" & @CRLF & _
"[yamllint] TEST FILES/yaml/yml_bad_2.yml - ERROR - 2 error(s)" & @CRLF & _
"--Error detail:" & @CRLF & _
"TEST FILES/yaml/yml_bad_2.yml" & @CRLF & _
" 10:1 warning missing document start "---" (document-start)" & @CRLF & _
" 11:16 error syntax error: mapping values are not allowed here (syntax)" & @CRLF & _
"" & @CRLF & _
"STANDARD" & @CRLF & _
"❌ Linted [YAML] files with [yamllint]: Found 6 error(s) - (1.23s)" & @CRLF & _
"- Using [yamllint v1.35.1] https://megalinter.io/All_Fixes_Together/descriptors/yaml_yamllint" & @CRLF & _
"- MegaLinter key: [YAML_YAMLLINT]" & @CRLF & _
"- Rules config: [/_Pipelines/LinterRules/.yamllint.yml]" & @CRLF & _
"- Number of files analyzed: [10]" & @CRLF & _
"[yamllint] TEST FILES/yaml/yml_bad_1.yml - ERROR - 2 error(s)" & @CRLF & _
"--Error detail:" & @CRLF & _
"TEST FILES/yaml/yml_bad_1.yml" & @CRLF & _
" 10:1 warning missing document start "---" (document-start)" & @CRLF & _
" 11:16 error syntax error: mapping values are not allowed here (syntax)" & @CRLF & _
"" & @CRLF & _
"" & @CRLF & _
"[yamllint] TEST FILES/yaml/yml_bad_2.yml - ERROR - 2 error(s)" & @CRLF & _
"--Error detail:" & @CRLF & _
"TEST FILES/yaml/yml_bad_2.yml" & @CRLF & _
" 10:1 warning missing document start "---" (document-start)" & @CRLF & _
" 11:16 error syntax error: mapping values are not allowed here (syntax)" & @CRLF & _
"" & @CRLF & _
"" & @CRLF & _
"[yamllint] TEST FILES/yaml_schema/bad/action.yml - ERROR - 2 error(s)" & @CRLF & _
"--Error detail:" & @CRLF & _
"TEST FILES/yaml_schema/bad/action.yml" & @CRLF & _
" 1:1 warning missing document start "---" (document-start)" & @CRLF & _
" 2:1 error too many blank lines (1 > 0) (empty-lines)" & @CRLF & _
"" & @CRLF & _
"❌ Linted [YAML] files with [yamllint]: Found 3 error(s) - (1.54s)" & @CRLF & _
"- Using [yamllint v1.35.1] https://megalinter.io/All_Fixes_Together/descriptors/yaml_yamllint" & @CRLF & _
"- MegaLinter key: [YAML_YAMLLINT]" & @CRLF & _
"- Rules config: [/_Pipelines/LinterRules/.yamllint.yml]" & @CRLF & _
"- Number of files analyzed: [10]" & @CRLF & _
"[yamllint] TEST FILES/yaml/yml_bad_1.yml - ERROR - 1 error(s)" & @CRLF & _
"--Error detail:" & @CRLF & _
"::group::TEST FILES/yaml/yml_bad_1.yml" & @CRLF & _
"::warning file=TEST FILES/yaml/yml_bad_1.yml,line=10,col=1::10:1 [document-start] missing document start "---"" & @CRLF & _
"::error file=TEST FILES/yaml/yml_bad_1.yml,line=11,col=16::11:16 syntax error: mapping values are not allowed here (syntax)" & @CRLF & _
"::endgroup::" & @CRLF & _
"" & @CRLF & _
"" & @CRLF & _
"[yamllint] TEST FILES/yaml/yml_bad_2.yml - ERROR - 1 error(s)" & @CRLF & _
"--Error detail:" & @CRLF & _
"::group::TEST FILES/yaml/yml_bad_2.yml" & @CRLF & _
"::warning file=TEST FILES/yaml/yml_bad_2.yml,line=10,col=1::10:1 [document-start] missing document start "---"" & @CRLF & _
"" & @CRLF & _
" Warning: 1:1 [document-start] missing document start "---"" & @CRLF & _
" Warning: 13:14 [truthy] truthy value should be one of [false, true]" & @CRLF & _
" Warning: 17:14 [truthy] truthy value should be one of [false, true]" & @CRLF & _
" Warning: 21:14 [truthy] truthy value should be one of [false, true]" & @CRLF & _
" Warning: 25:14 [truthy] truthy value should be one of [false, true]" & @CRLF & _
" Warning: 37:14 [truthy] truthy value should be one of [false, true]" & @CRLF & _
" Warning: 56:2 [comments] missing starting space in comment" & @CRLF & _
" Warning: 57:2 [comments] missing starting space in comment" & @CRLF & _
" Warning: 58:2 [comments] missing starting space in comment" & @CRLF & _
" Warning: 59:2 [comments] missing starting space in comment" & @CRLF & _
" Warning: 60:2 [comments] missing starting space in comment" & @CRLF & _
" Error: 77:1 [empty-lines] too many blank lines (3 > 2)" & @CRLF & _
" Error: 86:1 [empty-lines] too many blank lines (4 > 2)"
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