我正在尝试编写一个正则表达式(用于验证 c# .NET Core 模型上的属性,该模型会生成 javascript 表达式)以匹配由至少两个不同数字组成且最小长度为 6 位的所有数字。
例如:
222222 - 无效
122222 - 有效
1111125 - 有效
我正在尝试以下表达式:(\d)+((?!\1)(\d))
,如果有不同的数字,它匹配序列但是我如何将整个模式的大小限制为 {6,}
?
非常感谢
最佳答案
您可以使用
^(?=\d{6})(\d)\1*(?!\1)\d+$
见regex demo
详情
^
- 字符串开头 (?=\d{6})
- 至少 6 位 (\d)
- 任何数字都被捕获到第 1 组 \1*
- 在组 1 (?!\1)
- 下一个数字不能与第 1 组中的相同 \d+
- 1+位$
- 字符串结束。 关于javascript - 正则表达式匹配具有不同数字和最小长度的数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47402863/