在报价之间提取价值 - 正则表达式

时间:2017-07-17 14:47:11

标签: regex xml jmeter

我试图在J Meter上提取运行负载测试的请求ID,我需要将其用于后续的HTTP请求。我正在使用正则表达式提取器来执行此操作。

我一直在努力花几个小时来提取单引号内的价值并且没有取得任何成功。回应看起来与此相似。

RequestDateTime =' 2/12/2017 7:19:49 AM'请求ID =' 1234567'客户=" 14232"等...

我想要确切的数字,周围没有引号。值应为1234567

我尝试过使用RequestID ='(。*?)'但它给出了整个字符串,而我只想要内部的值。

3 个答案:

答案 0 :(得分:0)

使用正则表达式RequestID='(\d+) 模板$ 1 $ 匹配1

答案 1 :(得分:0)

调查" RegExp" View Results Tree监听器的测试器模式你的正则表达式本身很好:

JMeter Regular Expression Tester

所以我的期望是你的正则表达式提取器配置不正确,如果使用类似的东西,你应该得到预期值:

  • 参考名称:任何有意义的内容,即RequestID
  • 正则表达式:RequestID='(.*?)'
  • 模板:$1$

JMeter Regular Expression Extractor Configuration

您应该可以稍后将提取的值引用为${RequestID}。可以使用Debug Sampler

显示提取的JMeter变量

JMeter Debug Sampler Show Variables

请参阅How to Debug your Apache JMeter Script文章,了解有关JMeter测试故障排除技术的更多信息。

答案 2 :(得分:0)

所以下面的正则表达式可以解决这个问题:'(\d*)' 然后将Debug Sampler插入到线程中,以便查看引用名称。您要查找的变量将具有以下名称: referencename_g0

_g0表示匹配的第一个组。如果表达式与响应中的其他字符匹配,只需使用具有正确组号的变量即可。 (例如_g1或_g2等)。

希望这有帮助!