为了账号安全,请及时绑定邮箱和手机立即绑定

如何匹配包含至少 7 个不同数字的数字?

如何匹配包含至少 7 个不同数字的数字?

PHP
浮云间 2021-06-29 13:10:42
我需要一个正则表达式模式来匹配任何非重复数字超过 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 位。


查看完整回答
反对 回复 2021-07-09
  • 1 回答
  • 0 关注
  • 167 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信