3v4l.org

run code in 200+ php & hhvm versions
Bugs & Features
<?php $string = 'we 100.200.33 z'; //$string = 'we 100 200\'300,400,500,600,700,800,900 wf '; //$string = 'ara +1.200.009z'; //$string = 'we 100,200,300,400,500,600,700,800,900 wf '; //$string = 'we -100,200:300,400,500,600,700,800,900.9 wf '; //$string = 'we +1200300400500600700800900.99 wf '; //$string = 'we +1200300400500600700800900.99 wf'; //preg_match_all('/([+-])?[\d.,]+([.,]\d{1,2})?/', $string, $matches); //preg_match_all("/[+-]?\d{1,3}[.,]+(\d{3}[.,'])(?R)?/", $string, $matches); //preg_match_all("/[+-]?\d{1,3}[., ]?(?:\d{3}[., ]?)(?R)?/", $string, $matches); //preg_match_all("/\d{1,3}(?:[,]?\d{3})(?R)?/", $string, $matches); //preg_match_all('/[+-]?\d{1,3}(?:,?\d{3})*(?:\.\d{2})?/', $string, $matches); preg_match_all('/(?<sign>^|\D)\d{1,3}(?:([,.:])?\d{3})*(?:(?<decimal_sep>[.,])\d{1,2}(?=\D))?/', $string, $matches); print_r($matches);
based on JpuGr
Output for 4.4.6 - 4.4.9, 5.2.2 - 7.2.0
Array ( [0] => Array ( [0] => 100.200.33 ) [sign] => Array ( [0] => ) [1] => Array ( [0] => ) [2] => Array ( [0] => . ) [decimal_sep] => Array ( [0] => . ) [3] => Array ( [0] => . ) )
Output for 5.2.0 - 5.2.1
Warning: preg_match_all(): Compilation failed: unrecognized character after (?< at offset 3 in /in/pMlcc on line 18
Output for 4.3.11 - 4.4.5, 5.0.0 - 5.1.6
Warning: preg_match_all(): Compilation failed: unrecognized character after (?< at offset 3 in /in/pMlcc on line 18 Array ( )
Output for 4.3.0 - 4.3.10
Warning: Compilation failed: unrecognized character after (?< at offset 3 in /in/pMlcc on line 18 Array ( )