python 一个根据正则判断输入的函数

import re def checkinfodecide(rerule, inputinfo): """ 判断输入,判断输入规则为自定义的正则表达式 :rtype : object rerule:正则表达式 inputinfo:需要输入的提示信息   :return 校验后的输入内容 """ (checkinfo, checkinfoflag) = ('', True) while checkinfoflag: checkinfoinput = input('\033[32m请输入{}:(退出输入:b)\033[0m'.format(inputinfo)) if len(checkinfoinput) == 0: continue elif checkinfoinput == 'b': checkinfoflag = False ##################匹配输入是否是rerule的格式###################### elif re.match(rerule, checkinfoinput): checkinfo = checkinfoinput checkinfoflag = False else: print('\033[31m{}输入错误,请重新输入!!!\033[0m'.format(inputinfo)) return check_info

复制代码 简单实例:

inputip = checkinfodecide('(?:(?:25[0-5]|2[0-4]\d|((1\d{2})|([1-9]?\d))).){3}(?:25[0-5]|2[0-4]\d|((1\d{2})|([1-9]?\d)))', 'IP(IP格式)') if inputip:   print(str(input_ip))