【问题标题】:Regex for Number "05XXXXXXXX"数字“05XXXXXXXX”的正则表达式
【发布时间】:2013-04-22 16:46:06
【问题描述】:

您好,我需要使用正则表达式检查输入字符串是否为“05XXXXXXXX”,该数字必须仅以“05”开头且必须为 10 位数字。

我试过了;

^(?:[1-9]|0[1-9]|5[0-9]|0[0-9]|10)$

谢谢

【问题讨论】:

  • 我一直发现 Regex Hero 对于制作 RegEx 表达式非常有用。如果您不介意偶尔的麻烦,它可以免费使用。

标签: c# regex winforms


【解决方案1】:

您可以简单地使用{} 指定一组重复,例如像这样:

^05\d{8}$
  • ^ 匹配字符串的开头。
  • 05 将是一个简单明了的完全匹配。
  • \d 将匹配任何数字。
  • {8} 将重复前面的表达式(在本例中为 \d)正好 8 次。
  • $ 匹配字符串的结尾。

【讨论】:

    【解决方案2】:

    我想你想要这个:

    ^05[0-9]{8}$
    

    【讨论】:

    • 0500000000 是合法字符串吗?它与这个表达式匹配吗?
    • 已修复 :) 我在复制和粘贴更改时有点仓促
    【解决方案3】:

    试试这个:

    ^05\d{8}$
    

    即“一个 0 字符、一个 5 字符和一个数字字符正好重复 8 次。”

    【讨论】:

      【解决方案4】:

      你也可以试试这个:

      ^0[5][0-9]{8}$
      

      希望对你有帮助!

      【讨论】:

      • 如果我必须更新,这是一种习惯 :) 05[0-9]{8} 也可以!
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-11-23
      • 2011-09-16
      • 1970-01-01
      • 1970-01-01
      • 2018-06-10
      • 1970-01-01
      相关资源
      最近更新 更多