$re = '/[0-9]+:[0-9]+:?\s*(?:\[?warning\]?|\[?error\]?)|(?:::warning file=|::error file=)/m';
$str = 'PARSABLE
[yamllint] TEST FILES/yaml/yml_bad_1.yml - ERROR - 2 error(s)
--Error detail:
TEST FILES/yaml/yml_bad_1.yml:0:1: [warning] missing document start "---" (document-start)
TEST FILES/yaml/yml_bad_1.yml:11:16: error] syntax error: mapping values are not allowed here (syntax)
[yamllint] TEST FILES/yaml/yml_bad_2.yml - ERROR - 2 error(s)
--Error detail:
TEST FILES/yaml/yml_bad_2.yml:10:1: [warning] missing document start "---" (document-start)
TEST FILES/yaml/yml_bad_2.yml:11:1116: [error] syntax error: mapping values are not allowed here (syntax)
[yamllint] TEST FILES/yaml_schema/bad/action.yml - ERROR - 2 error(s)
--Error detail:
TEST FILES/yaml_schema/bad/action.yml:1:1: [warning] missing document start "---" (document-start)
TEST FILES/yaml_schema/bad/action.yml:2:1: [error] too many blank lines (1 > 0) (empty-lines)
COLORED
[Tap Reporter] Generated TAP report: /tmp/lint/megalinter-reports/tap/mega-linter-YAML_PRETTIER.tap
❌ Linted [YAML] files with [yamllint]: Found 6 error(s) - (1.36s)
- Using [yamllint v1.35.1] https://megalinter.io/All_Fixes_Together/descriptors/yaml_yamllint
- MegaLinter key: [YAML_YAMLLINT]
- Rules config: [/_Pipelines/LinterRules/.yamllint.yml]
- Number of files analyzed: [10]
[yamllint] TEST FILES/yaml/yml_bad_1.yml - ERROR - 2 error(s)
--Error detail:
TEST FILES/yaml/yml_bad_1.yml
10:1 warning missing document start "---" (document-start)
11:16 error syntax error: mapping values are not allowed here (syntax)
[yamllint] TEST FILES/yaml/yml_bad_2.yml - ERROR - 2 error(s)
--Error detail:
TEST FILES/yaml/yml_bad_2.yml
10:1 warning missing document start "---" (document-start)
11:16 error syntax error: mapping values are not allowed here (syntax)
STANDARD
❌ Linted [YAML] files with [yamllint]: Found 6 error(s) - (1.23s)
- Using [yamllint v1.35.1] https://megalinter.io/All_Fixes_Together/descriptors/yaml_yamllint
- MegaLinter key: [YAML_YAMLLINT]
- Rules config: [/_Pipelines/LinterRules/.yamllint.yml]
- Number of files analyzed: [10]
[yamllint] TEST FILES/yaml/yml_bad_1.yml - ERROR - 2 error(s)
--Error detail:
TEST FILES/yaml/yml_bad_1.yml
10:1 warning missing document start "---" (document-start)
11:16 error syntax error: mapping values are not allowed here (syntax)
[yamllint] TEST FILES/yaml/yml_bad_2.yml - ERROR - 2 error(s)
--Error detail:
TEST FILES/yaml/yml_bad_2.yml
10:1 warning missing document start "---" (document-start)
11:16 error syntax error: mapping values are not allowed here (syntax)
[yamllint] TEST FILES/yaml_schema/bad/action.yml - ERROR - 2 error(s)
--Error detail:
TEST FILES/yaml_schema/bad/action.yml
1:1 warning missing document start "---" (document-start)
2:1 error too many blank lines (1 > 0) (empty-lines)
❌ Linted [YAML] files with [yamllint]: Found 3 error(s) - (1.54s)
- Using [yamllint v1.35.1] https://megalinter.io/All_Fixes_Together/descriptors/yaml_yamllint
- MegaLinter key: [YAML_YAMLLINT]
- Rules config: [/_Pipelines/LinterRules/.yamllint.yml]
- Number of files analyzed: [10]
[yamllint] TEST FILES/yaml/yml_bad_1.yml - ERROR - 1 error(s)
--Error detail:
::group::TEST FILES/yaml/yml_bad_1.yml
::warning file=TEST FILES/yaml/yml_bad_1.yml,line=10,col=1::10:1 [document-start] missing document start "---"
::error file=TEST FILES/yaml/yml_bad_1.yml,line=11,col=16::11:16 syntax error: mapping values are not allowed here (syntax)
::endgroup::
[yamllint] TEST FILES/yaml/yml_bad_2.yml - ERROR - 1 error(s)
--Error detail:
::group::TEST FILES/yaml/yml_bad_2.yml
::warning file=TEST FILES/yaml/yml_bad_2.yml,line=10,col=1::10:1 [document-start] missing document start "---"
Warning: 1:1 [document-start] missing document start "---"
Warning: 13:14 [truthy] truthy value should be one of [false, true]
Warning: 17:14 [truthy] truthy value should be one of [false, true]
Warning: 21:14 [truthy] truthy value should be one of [false, true]
Warning: 25:14 [truthy] truthy value should be one of [false, true]
Warning: 37:14 [truthy] truthy value should be one of [false, true]
Warning: 56:2 [comments] missing starting space in comment
Warning: 57:2 [comments] missing starting space in comment
Warning: 58:2 [comments] missing starting space in comment
Warning: 59:2 [comments] missing starting space in comment
Warning: 60:2 [comments] missing starting space in comment
Error: 77:1 [empty-lines] too many blank lines (3 > 2)
Error: 86:1 [empty-lines] too many blank lines (4 > 2)';
preg_match_all($re, $str, $matches, PREG_SET_ORDER, 0);
// Print the entire match result
var_dump($matches);
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 PHP, please visit: http://php.net/manual/en/ref.pcre.php