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

如何在JMeter中用正则表达式区分提取两个下拉框的选项值?

区分下拉框的正则提取方案

提取出发城市(fromPort)

使用带上下文限制的正则,确保只匹配name="fromPort"的下拉框内的选项值:

(?<=&lt;select name=&quot;fromPort&quot; class=&quot;form-inline&quot;&gt;)(?:(?!&lt;/select&gt;).)*?&lt;option value=&quot;(.*?)&quot;&gt;
  • 核心逻辑:
    • (?<=...):正向回顾后发断言,限定匹配的前置条件是目标下拉框的起始标签
    • (?:(?!&lt;/select&gt;).)*?:非捕获组,确保只在当前下拉框内部匹配(不跨越</select>结束标签)
    • 最终捕获的(.*?)就是出发城市的value值

提取到达城市(toPort)

只需把上述正则中的fromPort替换为toPort即可:

(?<=&lt;select name=&quot;toPort&quot; class=&quot;form-inline&quot;&gt;)(?:(?!&lt;/select&gt;).)*?&lt;option value=&quot;(.*?)&quot;&gt;

注意事项

  1. 开启全局匹配模式(如正则的g修饰符),才能提取下拉框内的所有选项值
  2. 如果处理的是未转义的原始HTML,将正则中的&lt;替换为<、&quot;替换为"即可

更稳定的替代方案

正则处理HTML仅适合简单固定场景,若HTML结构可能发生变化(如属性顺序调整、新增属性),建议用编程语言对应的HTML解析库(比如Python的BeautifulSoup、JS的cheerio),通过DOM定位select元素后再提取option值,容错性更强。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 01:18:26