例如: 
A123bcd456   ;
NAE67-abc321 ;
NIA101ert65se;把第一次出现的数字部分和它前面的字母取出,取出的结果为:A123,NAE67,NIA101,长度是不规则的,只是把第一次出现的数字部分和它前面的字母取出;然后再拆分提取出的字符,把字母和数字分开,结果为:A ,123;  NAE , 67;  NIA , 101 ;多谢大家!

解决方案 »

  1.   

    preg_match_all('/^\w+\d+/i',$string,$matches);未经测试。这个是取出整个字母及数字的,至于分开,再作分开处理就行了
      

  2.   

    try:
    preg_match_all("/([A-Za-z]+[0-9]+)/", $str, $reg);
    //$reg is array.
      

  3.   

    经测试
    <?php
    $subject = <<<H
    A123bcd456;
    NAE67-abc321;
    NIA101ert65se;
    H;
    preg_match_all('/^([a-zA-Z]+)(\d+)(?=[a-zA-Z-])/ims', $subject, $matches);
    for($i = 0; $i < count($matches[0]); $i++){
    $output .= $matches[1][$i].",".$matches[2][$i].";";
    }
    echo $output;
    ?>