我正在尝试检查输入是否采用这种模式:MH12
开始两位数字是 MH 然后接下来的两位数字是任何数字 和完整的字符串应该只有 4 位数字。太厌倦了 regex = r'^[MH]\d{2}.{,4}$'
导入报告
def checkingInput():
while True:
try:
inp = raw_input()
if re.match(r'[MH]\d{2}', inp):
print "Thanks for your Input:",inp
break
else:
print('Invalid office code, please enter again :')
except ValueError:
print('Value error! Please try again!')
checkingInput()
但上面的程序即使对于 input = MH12 它也显示无效的 Office 代码。为什么会这样?
可能是我遗漏了什么?
请您参考如下方法:
模式 [MH] 恰好匹配一个字母:M 或 H。
您应该改用 MH。
整个正则表达式是MH\d\d;在 Python 语法中是 r'MH\d\d'。
