2024-06-28 14:53:51 发布
网友
我用的是Pyrlike方法。与以下格式匹配的正则表达式是什么?字符串应始终具有10位数字,以下列之一开头:
111xxxxxxx 115xxxxxxx 222xxxxxxx 995xxxxxxx 9991xxxxxx 9992xxxxxx 99999xxxxx
字符串也可以以零开头,在这种情况下,它只需要检查总共有10位数字:
0000xxxxxx 000000xxxx 00000000xx
我尝试了^(111|115|222|995)\d{7}$,它只适用于列表中的一些格式
^(111|115|222|995)\d{7}$
你可以用
^((111|115|222|995)\d{7}|999[129]\d{6}|0\d{9})$
见regex demo和regex graph:
正则表达式详细信息
^
(
(111|115|222|995)
\d{7}
|
999
[129]
1
2
9
\d{6}
0\d{9}
0
)
$
替代解决方案:
如果在开始时使用正向前瞻限制字符串长度,则正则表达式将变得更易于维护:
^(?=\d{10}$)(111|115|222|995|999[129]|0)\d+$
见this regex demo。因此,您可以在模式开始时控制总长度,然后可以在使用模式部分中自由添加任何其他限制
详细信息
(?=\d{10}$)
(111|115|222|995|999[129]|0)
111
115
222
995
9991
9992
9999
\d+
你可以用
见regex demo和regex graph:
正则表达式详细信息
^
-字符串的开头(
-组的开始:(111|115|222|995)
\d{7}
-七位数字|
-或999
-999
字符串[129]
-1
、2
或9
\d{6}
-六位数字|
-或0\d{9}
-0
然后是任意九位数字)
-组的结尾$
-字符串的结尾李>替代解决方案:
如果在开始时使用正向前瞻限制字符串长度,则正则表达式将变得更易于维护:
见this regex demo。因此,您可以在模式开始时控制总长度,然后可以在使用模式部分中自由添加任何其他限制
详细信息
^
-字符串的开头(?=\d{10}$)
-整个字符串只能是一个十位数的字符串(111|115|222|995|999[129]|0)
-所有允许的前缀:111
、115
、222
、995
、9991
、9992
、9999
或0
\d+
-1+位$
-字符串的结尾李>相关问题 更多 >
编程相关推荐