本帖最后由 buqibushe 于 2011-01-21 08:33:11 编辑

解决方案 »

  1.   

    preg_match_all('/([a-z]+)|(0-9+)/i',$string,$matches);var_dump($matches);
      

  2.   

    $string = "asdfads222dsf22asdfa33adfa666asdf";
    preg_match_all('/([a-z]+)([0-9]+)/i',$string,$matches);
    var_dump($matches);
      

  3.   


    正解,对于 $var1=222 $var2=RR,匹配到后进行拼接即可,但是要考虑匹配不到的情况
      

  4.   

    我下面的代码为有什么不对吗?为什么会有  
    Warning: preg_match_all() [function.preg-match-all]: No ending delimiter '^' found
     
    我要匹配的是数字(可能有小数)+字母
     if (preg_match_all("^[0-9]+\.?[0-9]*([a-zA-Z])$", $value_input, $out, PREG_PATTERN_ORDER))
        {
            print_r($out);
        }
    我去掉^,又提示[,去掉后又提示其它的,按道理这个是没错的呀,多谢大家了