需求:
根据用户输入内容,通过正则判定该内容是否符合规定的版本号格式
正确版本号格式为:以数字开头和结尾,数字之间可以用 `.` 连接,但不能连续出现两个及两个以上的点
正确版本号示例:
1.0.4
1
1.0
错误版本号示例:
1..0
.1.0
1.0.
1.0..2
解题思路:
1,首先对传入的字符串进行是否有两个及以上连续的点出现,若有则版本号不正确,若没有则进入第二步判断
2,首先以1到n个数字开头,然后将一个点和1到n个数字当做一组,然后该组可以出现0-10次,若验证通过,则为正确版本号,若验证不通过,则说明版本号不正确
代码实现
import re
rule = "\.{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 = re.search( rule ,str)
if(res==None):
result = re.search(rule2,str)
if(result):
print("success")
else:
print(str)
else:
print(str)