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

JMeter正则表达式问题:如何提取悉尼服务商对应的2269值

解决悉尼服务商对应2269值的正则匹配问题

我明白你的问题了——你的正则因为贪婪匹配的特性,跳过了悉尼服务商对应的value,直接抓到了后面墨尔本的2271。这是因为(?s).*会尽可能多地匹配字符,直到找到最后一个符合name="addCompany" value="的位置,自然就拿到了靠后的墨尔本服务商数值。

修正后的正则表达式

推荐用非贪婪匹配来解决这个问题,把原来的.*改成.*?,这样正则会在找到第一个匹配的name="addCompany" value="时就停止,而不是一直往后找。修正后的正则如下:

<td>XYZ Market Services \(Sydney\)</td>(?s).*?name="addCompany" value="(.+?)"

更严谨的版本(可选)

如果想要避免后续HTML结构变化导致的意外匹配,可以进一步限制匹配范围在悉尼服务商所在的<tr>标签内:

<tr>.*?<td>XYZ Market Services \(Sydney\)</td>(?s).*?name="addCompany" value="(.+?)"(?=.*?</tr>)

关键说明:

  • (?s):开启单行模式,让.可以匹配换行符,适配HTML的换行结构
  • .*?:非贪婪匹配,尽可能少地捕获字符,确保停在第一个目标value处
  • (?=.*?</tr>):正向预查,保证匹配到的value一定在当前<tr>的结束标签之前,彻底避免跨行误匹配

用这个正则搭配你的模板$1,就能准确提取到悉尼服务商对应的2269值了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 03:22:44