用正则表达式 匹配字符串中的以a开头以b结尾的子字符串,而且要求这个子字符串中除了开始的a和结尾的b不能包含其他的a或者b。
重点在那个而且上 请牛人帮忙啊。

解决方案 »

  1.   


    $str = 'ax1baax2babbax3bb';
    preg_match_all('/a([^ab]+)b/iU', $str, $matches);
    print_r($matches[1]);
    /**
    输出结果:
    Array ( [0] => x1 [1] => x2 [2] => x3 ) 
    */
      

  2.   

    这个能达到要求。但是还有个正则我不会写 麻烦给我写写写出一个正则表达式,过虑网页上的所有JS/VBS脚本
      

  3.   


    $str = <<<EOS
    <htm>
        <head>
            <script>aaa
            bbb
            ;;</script><script>ccc</script>
        </head>
    <body>
    <script>
    aaa;
    bbb;
        ccc;
    </script>
    <script>test1</script>
    </body>
    <script>aaa</script>
    </html>
    <script>end str</script>
    EOS;$str = preg_replace('/<script[\d\D]+<\/script>/iU', '', $str);
    echo htmlspecialchars($str);
    /**
    输出结果:
    <htm> <head> </head> <body> </body> </html> 
    */
      

  4.   


    $str = <<<string
    ahhhbjjjakkkjbabajjjkkb
    string;
    $pattern = '/a[^ab]*b/';
    preg_match_all($pattern, $str, $matches);
    print_r($matches[0]);