3v4l.org

run code in 300+ PHP versions simultaneously
<?php $strings = [ "123A.478", "123.48", "123AX", "--123.46", "123A-.46", "-123--.46", "A-123-.46" ]; $pattern = '/^[^\d\s]+(?=-)|[^\d\s.]+(?!\d)/'; foreach ($strings as $str) { echo preg_replace($pattern, "", $str) . PHP_EOL; }

preferences:
107.51 ms | 1247 KiB | 5 Q