【问题标题】:Regex to match number with different digits and minimum length正则表达式匹配具有不同数字和最小长度的数字
【发布时间】:2018-05-04 07:30:09
【问题描述】:

我正在尝试编写一个正则表达式(用于验证 ac# .NET Core 模型上的属性,该模型会生成 javascript 表达式)以匹配由至少两个不同数字组成且最小长度为 6 位的所有数字。

例如:

222222 - 无效

122222 - 有效

1111125 - 有效

我正在尝试以下表达式:(\d)+((?!\1)(\d)),如果有不同的数字,它匹配序列但是我如何将整个模式的大小限制为{6,}

非常感谢

【问题讨论】:

  • 你有时间检查我的答案吗?请检查它是否按您预期的方式工作。

标签: javascript .net regex regex-negation regex-group


【解决方案1】:

你可以使用

^(?=\d{6})(\d)\1*(?!\1)\d+$

regex demo

详情

  • ^ - 字符串开头
  • (?=\d{6}) - 至少 6 位数字
  • (\d) - 任何数字都被捕获到第 1 组
  • \1* - 在第 1 组中捕获的值出现零次或多次
  • (?!\1) - 下一个数字不能与第 1 组中的相同
  • \d+ - 1+位
  • $ - 字符串结束。

【讨论】:

    猜你喜欢
    • 2021-05-04
    • 1970-01-01
    • 2012-06-10
    • 2011-06-17
    • 2019-09-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-27
    相关资源
    最近更新 更多