jmeter正则表达式匹配两个及以上不同类型值
在此不对正则表达式做深刻解析,基于jmeter工具快速了解正则表达式提取器的多值提取操作,如下图所示名词解析:
1、引用名称:提取值的引用名称(可随意填写,引用时用此名称)
2、正则表达式:常用表达式如下图
3、模板:表示取第几个值,$-1$表示取所有值,$0$表示随机取值,$1$表示取第一个值,$2$表示取第二个值
4、匹配数字:0表示随机取值, 1代表取第一个值,-1表示取所有符合条件的值
5、缺省值:如果正则表达式取不到值,则使用此缺省值。我一般用“test”。
1)单个取值:
如下图所示,我们要提取token的值
则可以写为如下图所示内容
运行查看调试取样器(debug sampler)
如下图所示,已成功提取token
若要引用可使用${token}或者${token_g1},建议使用${token_g1}
2)两个取值:
如单个取值的图一所示,我们要取两个值,一个“token”,一个“tokenHead”值,我们切换test格式查看他们的编码顺序,如下图所示
发现token与tokenHead值中间还有“refreshToken”的值,分别取值时的正则表达式可写为:"token":"(.+?)",和"tokenHead":"(.+?)",
中间的“refreshToken”值可用“.+”表示,由此,正则表达式可写为:"token":"(.+?)",.+"tokenHead":"(.+?)",
因为要取两个值,所以模板可写为:$1$$2$
其他不变,如下图所示
运行后查看调试取样器(debug sampler)
由此可见,token提取出来了“token”和“tokenHead”的值,下面token_g1和token_g2分别将他们提取出来了,此时如果要引用它们的值时,即可用“${token_g2}${token_g1}”
注:提取值可分开引用。
感谢您的阅读!!!