python 一个根据正则判断输入的函数
import re
def check_info_decide(re_rule, input_info): """ 判断输入,判断输入规则为自定义的正则表达式 :rtype : object re_rule:正则表达式 input_info:需要输入的提示信息
:return 校验后的输入内容 """ (check_info, check_info_flag) = ('', True) while check_info_flag: check_info_input = input('\033[32m请输入{}:(退出输入:b)\033[0m'.format(input_info)) if len(check_info_input) == 0: continue elif check_info_input == 'b': check_info_flag = False ##################匹配输入是否是re_rule的格式###################### elif re.match(re_rule, check_info_input): check_info = check_info_input check_info_flag = False else: print('\033[31m{}输入错误,请重新输入!!!\033[0m'.format(input_info)) return check_info
简单实例:
input_ip = check_info_decide('(?:(?: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 input_ip: print(str(input_ip))