regex - 匹配数字中的重复数字
问题描述
我需要正则表达式来检查重复数字的数字。
所有数字都包含 12 位数字,我们需要跳过前 6 位数字,所以我需要找到 7 中每隔一个数字重复的数字。
像这样964632X5X7X3
X - 重复数字
结果
502632959793 - TRUE
125632757773 - TRUE
475632353773 - FALSE
对于从 0 到 9 的每个数字,我都尝试过这样的操作:
\d{6}([9]\d[9]\d[9]\d)$
它没有用。
解决方案
您可以使用
^\d{6}(?=(\d))(?:\1\d){3}$
请参阅正则表达式演示。如果您需要在前六位数字之后容纳任何 x 到 y 数量的重复,您甚至可以稍后重构此正则表达式(只需替换{3}
为 required{x}
或带有所需阈值的量词){x,}
。{x,y}
正则表达式详细信息
^
- 字符串的开始\d{6}
- 前六位数(?=(\d))
- 将第七位数字捕获到第 1 组的正向前瞻(?:\1\d){3}
- 在第 1 组中捕获的数字和任何单个数字出现 3 次$
- 字符串结束
推荐阅读
- ms-access - 需要在 MS Access 中使用计算字段创建表
- r - 使用 r 中的 ggplot 在 y 轴上具有实际值的堆积条形图
- javascript - 如何使用moment.js仅获取日期(DD-MM-YYYY)格式而不是日期时间?
- python - 下面的代码只检测笔记本电脑的网络摄像头,但没有检测到通过 USB3.0 连接的海康威视摄像头 我正在使用带有 pythone 3.7 的 anaconda spyder
- javascript - 从firebase函数返回值并将其存储到html中的变量
- javascript - combine latest 在 Firefox 和 IE 中未正确触发
- docker - 码头工人群。如何从管理节点连接到在工作节点上运行的容器?
- node.js - 我在哪里可以找到 firebase-debug.log 来了解为什么模拟器没有完全关闭?
- javascript - 我需要 Vue.set() 来更改数据对象的值吗?
- python - 属性错误:模块“rasa_nlu.utils”没有属性“list_files”