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
标签:preg-match-all,string,php,regex 来源: https://codeday.me/bug/20191119/2034631.html