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

如何用正则表达式提取含Test_openjdk标识的Jenkins构建链接

错误原因分析

第一次正则错误

  • 用了贪婪匹配的.+,会连续吞掉多个相邻的链接内容,导致多个链接被合并为一个匹配结果
  • 末尾的\d?匹配逻辑过于宽松,0次或1次数字的限制几乎无效,会匹配大量无关内容
  • 反引号包裹的内容没有做特征过滤,所有反引号内容都会被匹配,导致cent7-aarch64-3这类无关内容也被提取

第二次正则错误

  • HTTP部分的规则逻辑错位,写死了\/\/Test_openjdk的结构,但实际HTTP链接中ci.adoptopenjdk.net域名在Test_openjdk前面,导致所有HTTP开头的链接全部匹配失败
  • 仅覆盖了带console后缀的链接,没有匹配直接以数字/结尾的Jenkins原生构建链接,存在漏匹配
正确解决方案

匹配正则

(?:https?://[\w./-]+(?=Test_openjdk\d))?Test_openjdk\d[\w./-]+?/\d+/

使用时需要开启全局匹配模式。

正则逻辑说明

  • 前缀(?:https?://[\w./-]+(?=Test_openjdk\d))?是可选匹配项,仅匹配后面紧跟Test_openjdk+数字特征的HTTP链接前缀,适配域名变更的需求,不会匹配无关HTTP链接
  • 强制匹配核心特征Test_openjdk\d,确保所有匹配结果都是目标构建链接
  • 后缀[\w./-]+?/\d+/采用非贪婪匹配,匹配到数字+斜杠的结尾格式就停止,自动截断后面的console、consoleFull等多余内容,同时自动过滤反引号内末尾没有斜杠的无效构建记录
  • 自动适配两种场景:带HTTP前缀的公开链接、反引号包裹的无HTTP前缀内部构建链接

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.15 00:45:03