,有这么一些字符串.BS0001/BK0003,或者 BK00006,或者 BK00006/BBM0009/DDK0003
如果有斜杠,要返回斜杠前的内容,没有就是本身.以上三个返回.
BS0001,BK00006,BK00006
求一正则表达来实现

解决方案 »

  1.   

    $s='BS0001/BK0003,或者 BK00006,或者 BK00006/BBM0009/DDK0003';
    preg_match_all('#([^/\s]+?)/#s',$s,$m);
    print_r($m[1]);/*
    Array
    (
        [0] => BS0001
        [1] => BK00006
        [2] => BBM0009
    )
    */
    对于是否有斜杠的判断。相信难不倒你。
      

  2.   


    $str = "BS0001/BK0003,或者 BK00006,或者 BK00006/BBM0009/DDK0003";
    echo preg_replace("/.*?\b([\w]{6,})[\w\/]*/i", "\\1,", $str);//BS0001,BK00006,BK00006,
      

  3.   


    不是。$str    = "BS0001/BK0003,或者 BK00006,或者 BK00006/BBM0009/DDK0003";是 $str = "BS0001/BK0003 或者 $str = "BS0001" 或者 $str = "BK000236/BBM0009/DDK0003BK00006/BBM0009/DDK0003"