You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python正则如何匹配1至1000范围内所有为5的倍数的数字

正确正则写法

修改后的re.compile参数如下:

compiler = re.compile(r'\b(?:1000|[1-9]\d{0,2}[05])\b')

规则说明

  • \b:单词边界标记,确保匹配完整的独立数字,不会出现从长数字中截取部分片段匹配的问题,比如不会从201中匹配到20,也不会匹配长数字中的符合片段
  • (?:...):非捕获分组,避免findall方法优先返回分组内的内容,保证返回完整的匹配数字
  • 1000:直接匹配边界值1000,满足包含上下限的要求
  • [1-9]\d{0,2}[05]:匹配1~999范围内的所有5的倍数:
    • [1-9]:限定首位不能为0,直接排除0值和0开头的非法数字
    • \d{0,2}:允许后面跟0到2位数字,覆盖1位、2位、3位数字的长度要求
    • [05]:限定末位为0或5,符合5的倍数的数学规则

使用该正则测试提供的字符串,得到的结果和期望输出完全一致。

内容的提问来源于stack exchange,提问作者user12575866

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 06:09:04