C# 用于数字范围的正则表达式

C# 用于数字范围的正则表达式,c#,html,regex,C#,Html,Regex,是否有一个正则表达式允许如果数字以1开头,则长度为10,如果数字以1以外的长度开头,则长度为9 示例: 012345678(因为它以0开头,所以所需的长度是9) 1234567890(因为它以1开头,所以所需的长度是10) 我尝试了^[1][0-9]{8,9},但它只适用于b条件 我需要一个能同时满足这两个条件的正则表达式。模式^[1][0-9]{8,9}只匹配以1开头然后有8或9位数字的字符串,但可以在这些模式之后以任何文本结尾 你可以用 ^(?:1[0-9]{9}|[02-9][0-9]

是否有一个正则表达式允许如果数字以1开头,则长度为10,如果数字以1以外的长度开头,则长度为9

示例:

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

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

我尝试了
^[1][0-9]{8,9}
,但它只适用于
b
条件


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

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

你可以用

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

详细信息

  • ^
    -字符串的开头
  • (?:
    -开始:
    • 1
      -
      1
      数字
    • [0-9]{9}
      -任意九个ASCII数字
  • |
    -或
    • [02-9]
      -除
      1
    • [0-9]{8}
      -任意八位ASCII数字
  • -组结束
  • $
    -字符串结束