是否存在一个正则表达式,如果数字以1开头,则长度为10,如果数字不是1长度为9,那么正则表达式。
示例:
012345678
(因为它以0开头,所以所需的长度是9)
1234567890
(因为它以1开头,所以所需的长度是10)
我尝试了^[1][0-9]{8,9}
,但它只对b
条件有效。
我需要一个能同时满足这两个条件的正则表达式。
答案 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数字)
-组结束$
-字符串的结尾。