再详细说明一下:
我希望得到的是从字符串开始到第一次连续'b'开始之前的所有字符。
例如:
字符串是这样的:
advbvvbvvbbbbbbbvvvssssbbbbbbbbbbbbnnnn
要得到:advbvvbvv
要说明是这之间可能出现任意的字符。

解决方案 »

  1.   

    $str="advbvvbvvbbbbbbbvvvssssbbbbbbbbbbbbnnnn";
    preg_replace("/bb.*$/is","",$str);
      

  2.   

    echo preg_replace("/bb.*$/is","",$str);
      

  3.   

    谢谢你们的回答,
    我可以了,不过还想接着再问一个
    如果要得到其中的vvvssss,怎么办?
    我使用这个表达式
    (?=b{2,})(.*)(?=b{2,})
    得到的却是:
    bbbbbbbvvvssssbbbbbbbbbbbbbbb
      

  4.   

    $str="advbvvbvvbbbbbbbvvvssssbbbbbbbbbbbbnnnn";
    echo preg_replace("/.*v+s+.*/is", '', $str);
      

  5.   

    $str="advbvvbvvbbbbbbbvvvssssbbbbbbbbbbbbnnnn";
    print_r(preg_split("/b{2,}/",$str));