我需要一个正则表达式模式来匹配任何非重复数字超过 7 位的数字。例如它必须匹配:1234567122345678但不匹配:1222345例如,这个数字中的非重复数字122345678是,8而整个数字有9. 但是这个数字中的非重复数字:11111222345只是5。这种模式不这样做:/[0-9]{7,}/我希望它计算非重复数字,而不是忽略任何具有重复数字的数字。
1 回答
米脂
TA贡献1836条经验 获得超3个赞
我如何理解您的问题是,您想提取至少由 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 位。
- 1 回答
- 0 关注
- 167 浏览
添加回答
举报
0/150
提交
取消