3v4l.org

run code in 300+ PHP versions simultaneously
<?php $pattern='(?:^(?:(?<a>(?:(?:[0-9]|[1-9][0-9]|1[0-7][0-9]))|(?:(?:[0-9]|[1-9][0-9]|1[0-7][0-9])\.\d)|180)!(?<b>(?:(?:[0-9]|[1-9][0-9]|[1-3][0-5][0-9]))|(?:(?:[0-9]|[1-9][0-9]|[1-3][0-5][0-9])\.\d)|360)!(?<c>-?(?:(?:(?:[0-8]|[1-8][0-9]))|(?:(?:[0-9]|[1-8][0-9])\.\d)|90)))$)'; $subject='123!360!-12.3'; preg_match('/' . $pattern . '/', $subject, $array); if(!empty($array)) var_dump($array['a'], $array['b'], $array['c']);

preferences:
119.93 ms | 405 KiB | 5 Q