Python中如何检查字符串是否以两个数字开头?
校验用户输入是否以两位数字开头的实现
两种常用方案,按需选就行:
纯字符串切片写法(不用导入模块,逻辑简单直观)
先确认输入长度够2位,再判断前两位是不是数字即可,参考代码:usr_input = input("Input here: ") is_start_with_two_digits = len(usr_input) >= 2 and usr_input[:2].isdigit() # 后续写你的业务逻辑即可,示例: if is_start_with_two_digits: # 校验通过的处理逻辑 pass else: # 校验不通过的提示/要求重输逻辑 pass注意:这个写法会把全角数字(比如中文输入法下输入的
12这类Unicode数字)也判定为校验通过,如果你只认可半角0-9数字,用下面的正则写法判定更准确。正则表达式写法(校验规则更精准,适合严格校验场景)
直接用Python标准库re做前缀匹配,不需要手动判断字符串长度,半角数字校验不会误判全角字符:import re usr_input = input("Input here: ") # 匹配字符串开头的两个半角0-9数字 is_start_with_two_digits = bool(re.match(r'^[0-9]{2}', usr_input)) # 后续业务逻辑和上面写法一致要是你要求开头两位数字之后不能紧跟着其他数字(也就是开头必须是独立的两位数字段),把正则规则替换成
r'^[0-9]{2}(?![0-9])'即可。
踩坑提醒:如果你的场景允许用户输入前后带空格,先执行
usr_input = usr_input.strip()去掉首尾空白字符再做校验,避免用户不小心在开头打了空格,明明内容符合要求也会判定不通过。
内容的提问来源于stack exchange,提问作者user14270264
相关产品推荐
相关产品推荐

