3v4l.org

run code in 300+ PHP versions simultaneously
<?php preg_match('/([a-z]+)(<((?R)(,(?R))*)>)?/', 'a<b<c<d>>>', $matches, PREG_OFFSET_CAPTURE, 2); print_r($matches);
Output for 5.5.0 - 5.5.35, 5.6.0 - 5.6.28, 7.0.0 - 7.0.20, 7.1.0 - 7.1.25, 7.2.0 - 7.2.33, 7.3.0 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.27, 8.2.0 - 8.2.17, 8.3.0 - 8.3.4
Array ( [0] => Array ( [0] => b<c<d>> [1] => 2 ) [1] => Array ( [0] => b [1] => 2 ) [2] => Array ( [0] => <c<d>> [1] => 3 ) [3] => Array ( [0] => c<d> [1] => 4 ) )

preferences:
208.75 ms | 404 KiB | 224 Q