需求:

根据用户输入内容,通过正则判定该内容是否符合规定的版本号格式正确版本号格式为:以数字开头和结尾,数字之间可以用 `.` 连接,但不能连续出现两个及两个以上的点正确版本号示例:1.0.411.0错误版本号示例:1..0.1.01.0.1.0..2

解题思路:

1,首先对传入的字符串进行是否有两个及以上连续的点出现,若有则版本号不正确,若没有则进入第二步判断
2,首先以1到n个数字开头,然后将一个点和1到n个数字当做一组,然后该组可以出现0-10次,若验证通过,则为正确版本号,若验证不通过,则说明版本号不正确

代码实现

import rerule = "\.{2,10}"
rule2 = "^\d+(\.\d+){0,10}$"
# 以下内容为示例
str = "1..0"
str = ".1.0"
str = "1.0."
str = "1.0..2"
str = "1.0.4"
str = "1"
str = "1.0"
res = www.sxzhongrui.com( rule ,str)
if(res==None):result = www.sxzhongrui.com(rule2,str)if(result):print("success")else:print(str)
else:print(str)