3v4l.org

run code in 500+ PHP versions simultaneously
<?php $re = '/^(?<KEY>CONF|ESD|TRACKING)[:;\'\s]\s*(?<DATA>.*?)\s*(?:L[:;\'\s]\s*)|\G(?!^)(?:(?<QUANTITIES>\(\d+\))|(?<LINE_NUMBERS>\d+)),?(?:\s*(?<INITIALS>\*[a-zA-Z]+)?\s*$)?/i'; $str = 'esd: here is my data L: 1,2,3(4),5(12) *sm '; preg_match_all($re, $str, $matches); var_dump(array_filter($matches["QUANTITIES"])); var_dump(array_filter($matches["LINE_NUMBERS"]));
Output for 7.4.0 - 7.4.33, 8.0.1 - 8.0.30, 8.1.0 - 8.1.34, 8.2.0 - 8.2.30, 8.3.0 - 8.3.31, 8.4.1 - 8.4.22, 8.5.0 - 8.5.7
array(2) { [4]=> string(3) "(4)" [6]=> string(4) "(12)" } array(4) { [1]=> string(1) "1" [2]=> string(1) "2" [3]=> string(1) "3" [5]=> string(1) "5" }

preferences:
93.87 ms | 1292 KiB | 4 Q