我正在尝试编写一个正则表达式(用于验证ac#.NET Core模型上的属性,生成javascript表达式)以匹配由至少两个不同数字和最小长度为6位组成的所有数字。
例如:
222222 - 无效
122222 - 有效
1111125 - 有效
我正在尝试以下表达式:(\d)+((?!\1)(\d))
,如果有不同的数字,则匹配序列但是如何将整个模式的大小限制为{6,}
?
非常感谢
答案 0 :(得分:0)
您可以使用
^(?=\d{6})(\d)\1*(?!\1)\d+$
请参阅regex demo
<强>详情
^
- 字符串开头(?=\d{6})
- 至少6位数(\d)
- 任何数字都会被捕获到第1组\1*
- 在第1组中捕获的值出现零次或多次(?!\1)
- 下一个数字不能与第1组相同\d+
- 1 +位数$
- 字符串结束。