今天开发采集器,用到从字符串里取数字,后来想到了以下用正则表达式来取。
用正则
代码如下 | 复制代码 |
$str = ereg_replace(‘[^0-9]‘,”,$str);和 $str = preg_replace( ‘/[^\d]/ ‘, ‘ ‘,$str); |
例子
代码如下 | 复制代码 |
function findNum($str=''){ $str=trim($str); if(empty($str)){return '';} $reg='/(\d{3}(\.\d+)?)/is';//匹配数字的正则表达式 preg_match_all($reg,$str,$result); if(is_array($result)&&!empty($result)&&!empty($result[1])&&!empty($result[1][0])){ return $result[1][0]; } return ''; } |
如果是小数点呢,我们上面办法显然是不正确的,我们可以进行修改
代码如下 | 复制代码 |
$regexp = '/(\d+)\.(\d+)/is'; <?php ?> |
结果是我们相要的哦,不信你去试一下吧。
时间: 2024-10-28 08:57:50