3v4l.org

run code in 300+ PHP versions simultaneously
<?php $string1 = "-val1(sec1)-"; $string2 = "-val2(sec2)-"; $string3 = "-val3(sec3)-"; $big_string = $string1 . $string2 . $string3; if (preg_match_all('/-([^(]+)\(([^)]+)\)-/', $big_string, $matches, PREG_SET_ORDER)) { $result = array_map(static fn($match) => array_slice($match, 1), $matches); print_r($result); }

preferences:
27.35 ms | 407 KiB | 5 Q