深入分析JMeter正则表达式提取器(二)

2022-05-23  本文已影响0人  82a7fe2508f4
w

正则表达式提取器中的Match No

当正则表达式的捕获组匹配到多个满足条件的字符串时,会按照捕获的先后顺序依次对其进行编号:1,2,3,...,n可以使用编号来选择需要的字符串,1表示第一个匹配的字符串,2表示第二个匹配的字符串,...,依次类推.可以根据实际需要从中选择某个匹配项,所有匹配项或随机选择某个匹配项.

1、选择某个匹配项

设置"Match No."为i(i=1,2,3,...,n),i不能超过匹配的最大次数.

比如,设置为2,表示取捕获组获取的第二个匹配项.

为了方便引用捕获的内容,JMeter提供了丰富的变量,可以根据实际情况选择所需的变量.

假设:

"Name of created variable"设置为refName

"Match No."设置为i

捕获组的个数为m

各变量的具体含义如下:

refName: 按照"Template"设置保存的模板值;

refName_g: 捕获组的个数

refName_g0: 正则表达式的值

refName_gN: 捕获组N的第i个匹配项(N=1,2,3,...,m)

下面是一个例子:

2、选择所有匹配项

设置"Match No."为-I(I=1,2,3,...).

JMeter只要检测到是负整数时则输出所有匹配项.

假设:

"Name of created variable"设置为refName

"Match No."设置为-I

捕获组的个数为m

捕获组匹配项的个数为n

各变量的具体含义如下:

refName: 在此种情况下始终显示为默认值(Default Value设置的值)

refName_i: 捕获组第i个匹配项对应的模板值(i=1,2,3,...,n)

refName_i_g: 捕获组第i个匹配项个数(i=1,2,3,...,n)

refName_i_g0: 捕获组取第i个匹配项时正则表达式的值(i=1,2,3,...,n)

refName_i_gj: 捕获组j(j=1,2,3,...,m)的第i(i=1,2,3,...,n)个匹配项

下面是一个例子:

3、随机选择某个匹配项

设置"Match No."为0.

此种情况下,各变量的具体含义与"14.4.1 选择某个匹配项"相同,不再说明.

上一篇 下一篇

猜你喜欢

热点阅读