“百度一下,找到相关网页约509,000篇,用时0.029秒”
用正则取出 数字 怎么写?

解决方案 »

  1.   

    应该是取网页约多少篇吧,自己写了一个供你测试和参考
    <?php
    $mode="/百度一下,找到相关网页约(.*)篇,用时/";
    $str="百度一下,找到相关网页约509,000篇,用时0.029秒";if (preg_match_all($mode, $str, $arr))
    {
        echo '匹配成功:'.preg_replace("/,/",  "", $arr[1][0]);
    }
    else
    {
        echo '匹配不成功';
    }
    ?>
      

  2.   

    $str='百度一下,找到相关网页约509,000篇,用时0.029秒';
    preg_match_all("/[0-9,.]+/",$str,$matches);
    echo str_replace(',','',$matches[0][0]);//509000
    echo $matches[0][1];//0.029
      

  3.   

    百度一下,找到相关网页约509,000篇,用时0.029秒已测试/\d*,\d*/   截取 509,000/\d*\.\d*/  截取 0.029
      

  4.   

    嗯 这个不错,我原来是这样写:(\d+(,|)(\d{3}|)),还是你的代码简单。
    还有个问题请教各位:
    这里数字509,000取出来了,怎么把它变成509000这样的int数字呢? 
      

  5.   

    str_replace(",", "", "509,000");