【问题标题】:Regex to validate a number for length and start digits正则表达式验证数字的长度和起始数字
【发布时间】:2013-11-20 01:19:12
【问题描述】:

我正在寻找可以验证数字的正则表达式。 一部分很简单 ^(\d{5,9})$ 代表数字的字符串必须是5到9位数字。

第 2 部分我不知道如何:它不能以 9999 开头

如何添加该部分?

【问题讨论】:

  • 接受解决您问题的答案之一是礼貌的 - 让人们继续参与该网站。

标签: c# regex validation


【解决方案1】:

这样就可以了:

^(?!9999)\d{5,9}$

(?!....) 是否定的lookahead,意思是“不跟”

【讨论】:

    【解决方案2】:

    你想要一个否定的前瞻断言,锚定在字符串的开头:

    Regex rx = new Regex( @"^(?!9999)\d{5,9}$" ) ;
    

    【讨论】:

    • 感谢所有这么快回复的人。效果很好。
    【解决方案3】:

    我建议您使用您的编程语言的普通字符串函数来提取字符串的前四个字符并将它们与“9999”进行比较。这将比否定的前瞻断言更有效,也更易于阅读。

    我想可能有一些特殊情况需要符合正则表达式格式。如果是这种情况,那么其他答案就是您所需要的。但我认为意识到并非所有涉及模式匹配的东西都必须使用正则表达式是件好事。

    【讨论】:

      猜你喜欢
      • 2022-11-01
      • 1970-01-01
      • 1970-01-01
      • 2020-06-19
      • 1970-01-01
      • 2014-04-23
      • 2013-02-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多