昨日写的意犹未尽。性能测试工具中为了精确匹配一个字符串,也是用尽了各种奇技淫巧。模板,匹配数字的又都是什么鬼?索性死磕整理一番,看看究竟是怎么一回事,还是拿HyperPacer进行举例,响应数据为test,test。以下是统一的配置及不同选项下的不同响应列表:
<
匹配数字
模板
|
-1 | 0 | n |
$0$ | ${var} -> error 永远取得默认值 |
${var} -> tes 获取随机一次匹配结果,以模板形式输出 |
与“匹配数字为0”一致,只是匹配结果为第n次的结果 |
${var_1} -> tes 取得第一次取到的值,以模板形式输出 |
${var_n} -> null n为匹配次数,不存在这种形式,输出永远为null |
||
${var_2} -> tes 取得第二次取到的值,以模板形式输出 |
|||
${var_1_g0} -> tes 取得第一次取到的值按顺序链接 |
${var_g0} -> tes 获取随机一次匹配结果按顺序链接 |
||
${var_1_gm} -> null m为第m个分组,不存在这种形式,输出永远为null |
${var_g1} -> null 不存在这种形式,输出永远为null |
||
${var_1_g} -> 0 取得分组组数 |
${var_g} -> 0 取得分组组数 |
||
$1$ | ${var} -> error 永远取得默认值 |
${var} -> tse 获取随机一次匹配结果,以模板形式输出 |
与“匹配数字为0”一致,只是匹配结果为第n次的结果 |
${var_1} -> t 取得第一次取到的值,以模板形式输出 |
${var_n} -> null n为匹配次数,不存在这种形式,输出永远为null |
||
${var_2} -> t 取得第二次取到的值,以模板形式输出 |
|||
${var_3} -> null 因为只匹配了2次,所以第三次为null |
|||
${var_1_g0} -> tes 取得第一次取到的值按顺序链接 |
${var_g0} -> tes 获取随机一次匹配结果按顺序链接 |
||
${var_1_g1} -> t 取得第一次取到的第一个分组的值 |
${var_g1} -> t 获取随机一次匹配结果的第一个分组的值 |
||
${var_1_g2} -> e 取得第一次取到的第二个分组的值 |
${var_g2} -> e 获取随机一次匹配结果的第二个分组的值 |
||
${var_1_g3} -> s 取得第一次取到的第三个分组的值 |
${var_g3} -> s 获取随机一次匹配结果的第三个分组的值 |
||
${var_1_g} -> 3 取得分组组数 |
${var_g} -> 3 取得分组组数 |
||
${var} -> error 永远取得默认值 |
${var} -> tse 获取随机一次匹配结果,以模板形式输出 |
||
${var_1} -> tse 取得第一次取到的值,以模板形式输出 |
${var_n} -> null n为匹配次数,不存在这种形式,输出永远为null |
||
${var_2} -> tse 取得第二次取到的值,以模板形式输出 |
|||
$1$ $3$ $2$ | ${var_1_g0} -> tes 取得第一次取到的值按顺序链接 |
${var_g0} -> tes 获取随机一次匹配结果按顺序链接 |
与“匹配数字为0”一致,只是匹配结果为第n次的结果 |
${var_1_g1} -> t 取得第一次取到的第一个分组的值 |
${var_g1} -> t 获取随机一次匹配结果的第一个分组的值 |
||
${var_1_g2} -> e 取得第一次取到的第二个分组的值 |
${var_g2} -> e 获取随机一次匹配结果的第二个分组的值 |
||
${var_1_g3} -> s 取得第一次取到的第三个分组的值 |
${var_g3} -> s 获取随机一次匹配结果的第三个分组的值 |
||
${var_1_g} -> 3 取得分组组数 |