//$string = "WILZECK GEBAEUDETECHNIK U B A UMANAGEMENT + 0748213";
//$string = "BEL.1000/2805749601 RECHNUNGEN VON SNL LIEFERAN V666150700/23,04 ";
$string = "RG 1111179 BAUPRO BAUPRO+1001379";
$pattern = "/[0-9]{7,}/";
preg_match_all($pattern, $string, $container);
print_r($container);
再对$container数组进行分析,根据你的需求进行取舍。

解决方案 »

  1.   

    /[0-9]{7}/这个早就试过,肯定不行的,它会对7个以上的字符串只取7个进行匹配to lantersen(蓝水仁)
    您能再讲详细点吗?对$container怎么分析?因为在$pattern = "/[0-9]{7,}/";
    preg_match_all($pattern, $string, $container);
    中取出来的是不符合要求的谢谢
      

  2.   

    $str = "WILZECK GEBAEUDETECHNIK U B A UMANAGEMENT + 0748213";
    //$str = "BEL.1000/2805749601 RECHNUNGEN VON SNL LIEFERAN V666150700/23,04 ";
    //$str = "RG 1111179 BAUPRO BAUPRO+1001379";
    preg_match_all('/(?<![0-9])[0-9]{7}(?![0-9])/',$str,$ar);
    //print_r($ar);
    if($ar[0][0]=="" || $ar[0][1]!=""){
       echo 'No Martched.';
    }
    else{
       echo $ar[0][0];
    }
      

  3.   

    echo ' No Matched . ' ;
      

  4.   

    修改,只要有两个以上的就不匹配
    preg_match_all('/(?<![0-9])[0-9]{7}(?![0-9])/',$str,$ar);
    //print_r($ar);
    if($ar[0][0]=="" || $ar[0][1]!=""||$ar[0][2]!==""){
       echo 'No Martched.';
    }
    else{
       echo $ar[0][0];
    }
      

  5.   

    再对$container数组进行分析,根据你的需求进行取舍。@_@//