Regex(Dataannotation)用于数字在字符串中重复不超过五次

Regex(Dataannotation) for digits not repeating more than five times in string

我只是期待创建一个没有连续数字重复超过五次的正则表达式,它应该只从 6、7、8、9 位数字开始。

我有解决方案,但我正在使用以下 2 个正则表达式并进行验证。

string startPattern = "^[6-9][0-9]{9}$";
string endPattern = "([\d])\1{5}";

请帮助,以便我可以在模型中用作数据注释。

您可以使用

^(?!.*(\d){5})[6-9]\d{9}$

regex demo

详情

  • ^ - 字符串开头
  • (?!.*(\d){5}) - 如果除换行符之外的任何 0+ 个字符后有相同的 6 位数字,则匹配失败的否定前瞻
  • [6-9] - 69 数字然后
  • \d{9} - 九位数
  • $ - 和字符串结尾。