微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php-preg_match_all()不匹配所有可能的出现

我有二进制模式“ 10000101001”,我想匹配在开始和结束1处具有0的字符串.因此,对于上面给出的示例,应该有3种可能的匹配100001、101、1001.

以下是我尝试的示例代码

function solution() {
    $length = 0;
    $decStr = "10000101001";
    $pattern = "/[1][^1]0*[1]/";
    preg_match_all($pattern, $decStr, $matches);
    echo "<pre>";
    print_r($matches);
    echo "</pre>";
}

这给出了输出

Array
(
    [0] => Array
        (
            [0] => 100001
            [1] => 1001
        )

)

解决方法:

积极向前

/(?=(1[^1]+1))/

阅读:http://www.regular-expressions.info/lookaround.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐