3v4l.org

run code in 300+ PHP versions simultaneously
<?php $string = '012345678901234567890123456789012345678901234567890123456789'; $splitAtPoints = [1, 18, 32, 41, 108, 125, 137, 152, 161]; preg_match( sprintf( '/%s/us', implode( array_map( fn($quantifier) => "(.{{$quantifier}})?", $splitAtPoints ) ) ), $string, $match ); array_shift($match); var_export($match);
Output for 8.1.32, 8.2.0 - 8.2.29, 8.3.0 - 8.3.25, 8.4.1 - 8.4.12
array ( 0 => '0', 1 => '123456789012345678', 2 => '90123456789012345678901234567890', )

preferences:
53.23 ms | 406 KiB | 5 Q