为了账号安全,请及时绑定邮箱和手机立即绑定

0-63 之间数字的 Python 正则表达式

0-63 之间数字的 Python 正则表达式

catspeake 2023-03-22 16:13:05
我已经编写了这个正则表达式来匹配上述范围内的数字,但它不能正常工作,例如它匹配“00”和“64”,但我不明白为什么。我的逻辑是“0 或 9 之间的数字”或“10-59 之间的数字”或“60-63 之间的数字”。import redef six_bit_number(n):    if re.match("([0-9]|[1-5][0-9]|6[0-3])", str(n)):        return True    return False
查看完整描述

3 回答

?
叮当猫咪

TA贡献1776条经验 获得超12个赞

re.match在输入的开头查找匹配项,但不介意匹配项后是否还有文本。您可以添加一个锚点以确保它也检查字符串的结尾:

r"([0-9]|[1-5][0-9]|6[0-3])\Z"


查看完整回答
反对 回复 2023-03-22
?
江户川乱折腾

TA贡献1851条经验 获得超5个赞

只需更改为

re.fullmatch

工作了。


查看完整回答
反对 回复 2023-03-22
?
潇湘沐

TA贡献1816条经验 获得超6个赞

试试下面的正则表达式:

^([0-9]|[1-5][0-9]|(6[0123]))$ [Include Global and Multiline flag]

正则表达式的理解:

[0-9]--> 匹配从 0 到 9 的单个数字

[1-5][0-9]--> 匹配从 10 到 59 的双位数

(6[0123])--> 匹配 60、61、62 和 63


查看完整回答
反对 回复 2023-03-22
  • 3 回答
  • 0 关注
  • 187 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信