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

请求生成过滤低于指定版本的Docker标签正则表达式

匹配低于指定版本的Docker标签正则表达式方案

需求

过滤出低于指定版本的Docker标签,例如匹配123.0.0.187及更早版本、123.0.0.187_acme.187.xxxxxxx及更早版本,其他版本规则同理。

示例Docker标签

123.0.0.188
123.0.0.188_acme.188.xxxxxxx
123.1.0.141
123.1.0.141_acme.141.xxxxxxx

尝试过的正则表达式

\b(.[0-9]+\.[0-9]+\.[0-9]+\.?|188)\b
\b(.[0-9]+\.[0-9]+\.[0-9]+\.?|141)\b

针对特定版本的正则方案

1. 匹配123.0.0.x且x ≤ 187的标签

^123\.0\.0\.(0|[1-9]\d{0,1}|1[0-7]\d|18[0-7])(_acme\.\d+\..*)?$

规则解释:

  • ^123\.0\.0\.:精准匹配版本前缀123.0.0.
  • (0|[1-9]\d{0,1}|1[0-7]\d|18[0-7]):匹配0到187的有效数字:
    • 0:单独匹配数字0
    • [1-9]\d{0,1}:匹配1-99的非零开头数字
    • 1[0-7]\d:匹配100-179的数字
    • 18[0-7]:匹配180-187的数字
  • (_acme\.\d+\..*)?$:可选匹配后缀部分,允许标签带有_acme.xxx.xxxxxxx这类格式的后缀

2. 匹配123.1.0.x且x ≤ 141的标签

^123\.1\.0\.(0|[1-9]\d{0,1}|1[0-3]\d|14[0-1])(_acme\.\d+\..*)?$

规则解释:

  • 前缀部分^123\.1\.0\.匹配目标版本前缀
  • 数字匹配段(0|[1-9]\d{0,1}|1[0-3]\d|14[0-1])覆盖0到141的所有有效数字:
    • 0:单独匹配0
    • [1-9]\d{0,1}:匹配1-99的数字
    • 1[0-3]\d:匹配100-139的数字
    • 14[0-1]:匹配140-141的数字
  • 后缀匹配段和上面一致,允许带后缀的标签格式

通用调整方法

如果需要匹配其他版本前缀(如a.b.c.x)且x ≤ N的标签,只需:

  1. 将正则中的前缀部分替换为对应的转义格式(比如a\.b\.c\.)
  2. 修改数字匹配段,覆盖0到N的所有有效数字范围

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 12:57:06