正则表达式的数字范围

时间:2019-01-03 08:48:52

标签: c# html regex

是否存在一个正则表达式,如果数字以1开头,则长度为10,如果数字不是1长度为9,那么正则表达式。

示例:

  • 012345678(因为它以0开头,所以所需的长度是9)

  • 1234567890(因为它以1开头,所以所需的长度是10)

我尝试了^[1][0-9]{8,9},但它只对b条件有效。

我需要一个能同时满足这两个条件的正则表达式。

1 个答案:

答案 0 :(得分:4)

^[1][0-9]{8,9}模式仅匹配以1开头,然后具有8或9位数字的字符串,但可以以这些模式之后的任何文本结尾。

您可以使用

^(?:1[0-9]{9}|[02-9][0-9]{8})$

请参见regex demo

详细信息

  • ^-字符串的开头
  • (?:-non-capturing group的开头:
    • 1-1位数字
    • [0-9]{9}-任意九个ASCII数字
  • |-或
    • [02-9]-1以外的任何ASCII数字
    • [0-9]{8}-任意八个ASCII数字
  • )-组结束
  • $-字符串的结尾。