如何在jmeter中获得常规提取表达式中的最后一个匹配?

Sar*_*ura 4 regex jmeter post-processing

我想在Jmeter中提取正则表达式的最后一次出现.我使用Regular Extractor表达式执行此操作,但我无法获得最后一次出现.

我试过这个:

  • 正则表达式:"var1":( [^"] +),"var2"
  • 模板:1美元
  • 匹配号:-1
  • 默认值:expression_matchNr

然后在我的脚本中我使用了$ {expression}变量

我已经测试了expression_matchNr,但它给了我匹配的数量.

我应该在" 匹配号码 "中加入什么?

提前致谢

Dmi*_*i T 5

如果您有以下输出:

expression=foo
expression_1=foo    
expression_2=bar
expression_3=**what you looking for**
expression_matchNr=3
Run Code Online (Sandbox Code Playgroud)

您可以使用JMeter的__V函数来获取expression_3变量的值

根据功能的描述:

例如,如果一个变量A1,A2和N = 1:

  • ${A1} - 工作正常
  • ${A${N}} - 不起作用(嵌套变量引用)
  • ${__V(A${N})} - 工作正常.$ {N}变为A1,__ V函数返回A1的值

所以在你的情况下,函数返回最后一个匹配,无论多少匹配将是:

${__V(expression_${expression_matchNr})}
Run Code Online (Sandbox Code Playgroud)

有关函数可以执行哪些操作,请参阅如何使用JMeter函数后续系列.