$re = '/(?<freecall_7digitspecial>^180[ |-]{0,1}2[ |-]{0,1}[0-9]{1}[ |-]{0,1}[0-9]{2}$)|(?<freeANDlocalrate_3grouping_std>^1800|1300[ |-]{0,1}[0-9]{3}[ |-]{0,1}[0-9]{3}$)|(?<freeANDlocalrate_2grouping_std>^1800|1300[ |-]{0,1}[0-9]{2}[ |-]{0,1}[0-9]{2}[ |-]{0,1}[0-9]{2}$)|(?<localrate_6digitspecial>^13[ |-]{0,1}[0-9]{2}[ |-]{0,1}[0-9]{2}$)|(?<landlineGeoNSW_4grouping_8digit>^[1-9]{1}[0-9]{3}[ |-]{0,1}[0-9]{4}$)|(?<landlineGeoAreaCode_10digit>^0[2|3|7|8][ |-]{0,1}[0-9]{4}[ |-]{0,1}[0-9]{4}$)/';
$str = '1234-5678';
preg_match_all($re, $str, $matches, PREG_SET_ORDER, 0);
// Print the entire match result
var_dump($matches);
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for PHP, please visit: http://php.net/manual/en/ref.pcre.php