3v4l.org

run code in 300+ PHP versions simultaneously
<?php $string = '(ab(cd)ef))'; preg_match_all('@\( ( ( (?>[^()]+) | (?R) )* ) \)@x',$string,$matches); var_dump($matches);

preferences:
73.99 ms | 402 KiB | 5 Q