求一个正则表达式

linshilong 2016-08-23 10:14:48
868848
565545
121141
...
...
757747
像这样的6位数字,我想弄一个正则表达式,6位数字中,不能出现四位相同的数字,也就是6位数字不能有4位相同的数字同时出现。
...全文
245 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
正则虽然能做很多不可思议的事情,但正则也不是万能的……
threenewbee 2016-08-24
  • 打赏
  • 举报
回复
不用正则很简单 s = "123456"; bool b = s.GroupBy(x => x).All(x => x.Count() < 4) && s.All(x => x > '0' && x < '9');
q107770540 2016-08-24
  • 打赏
  • 举报
回复
你可以用正则来干这事,不过这需要N种排列组合的匹配条件。 比如如下这个正则:
^(\d)(?:\1{3}((?!\1)\d){2}|(?:\1{2}((?!\1)\d){2}\1)|(?:\1((?!\1)\d){2}\1{2})|(?:((?!\1)\d){2}\1{3}))$
他只能匹配此种规则 的6位数字: 6个数字中,2个不同数字是相连在一起的
888843
888438
884388
843888
如果 这2个数字不是相连在一起的,又有N种组合出来 。。。写完这个正则会疯掉的。。。
Poopaye 2016-08-23
  • 打赏
  • 举报
回复
我觉得你求错东西了,正则表达式应该没这么牛

1,978

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 其他语言讨论
社区管理员
  • 其他语言社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧