我可以获得以下条件的正则表达式吗?
仅限数字格式
07
开头,则 min length = 11,最大长度= 11。01
,02
,03
,04
,05
,06
开头, 08
,09
然后 min length = 10,最大长度= 11. 我试过这个,但似乎没有用。
^[0]{1}([0-6,8-9]{10,11}|[7]{11})$
答案 0 :(得分:2)
我认为你需要这种正则表达式模式:
^(?:07\d{9}|0[1-689]\d{8,9})$
或同等的
^(?:07[0-9]{9}|0[1-689][0-9]{8,9})$
说明的:
07\d{9}
= 0
,7
,正好是9位
0[1-689]\d{8,9}
= 0
,1
,any digit but 7
以及之后的8位或9位数。
在你的正则表达式中,你指定[7]{11}
= 7
数字重复11次,[0-6,8-9]{10,11}
表示“任何数字,但7或逗号10或11次”。所有这些都阻止了匹配您需要的所有数字。长度限制还应考虑已匹配数字的数量。