我需要一个正则表达式模式,匹配任何数字,它的非重复的数字超过7位。例如,它必须匹配:
1234567
122345678但不匹配:
1222345此数字中不重复的数字,例如122345678为8,而整数为9。但是这个数字中不重复的数字:11111222345仅仅是5。这个模式不能做到这一点:
/[0-9]{7,}/我希望它计算不重复的数字,而不是忽略任何有重复数字的数字。
发布于 2019-05-25 19:56:15
我对你的问题的理解是,你想提取至少由7个不同数字组成的数字。将使用preg_match_all()结合简单的非正则表达式检查来获取数字:
if(preg_match_all('~\d{7,}~', $str, $out) > 0)
{
$res = array_filter($out[0], function($v) {
return count(array_unique(str_split($v))) >= 7;
});
}“重复”这个词肯定会导致混淆。还有“超过7位数”,至少是8位。
https://stackoverflow.com/questions/56304159
复制相似问题