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

Groovy中replaceAll()匹配数组元素的正则表达式问题求助

解决正则匹配问题

首先修正你的正则表达式,当前版本存在两处问题:

  • test_data\d+ 遗漏了下划线,正确写法应为 test_data_\d+
  • 正则中的逻辑或需用 | 而非 ||,后者是Groovy的逻辑运算符,在正则语法中不生效

可以将两个模式合并为更简洁的写法,能匹配所有目标元素的正则如下:

test(?:_data)?_\d+

正则解释

  • test:匹配固定前缀
  • (?:_data)?:匹配可选的 _data 部分,(?:...) 是非捕获组,避免生成多余的捕获结果
  • _\d+:匹配下划线加一个或多个数字

修正后的Groovy代码

替换正则后,你的JMeter Groovy函数应调整为:

${__groovy(vars.get('test_ids').replaceAll(/\btest(?:_data)?_\d+\b/) { match -> "\"$match\"" },)}

额外说明

  • 原代码中的捕获组 number 无需保留,直接使用匹配到的完整内容即可
  • 边界符 \b 确保匹配的是完整元素,避免误匹配包含这些字符串的更长文本

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 06:58:10