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.1.34, 8.2.0 - 8.2.30, 8.3.0 - 8.3.30, 8.4.1 - 8.4.18, 8.5.0 - 8.5.3
array ( 0 => '0', 1 => '123456789012345678', 2 => '90123456789012345678901234567890', )

preferences:
51.9 ms | 854 KiB | 4 Q