正则的语法有很多,我们在使用只需使用常用的正则即可。
https://jmeter.apache.org/usermanual/regular_expressions.html

使用正则

image.png
下面演示一下 使用正则表达式提取器的方式来将token值提取出来。
在【用户登录】—【添加】—【后置处理器】—【正则表达式提取器】
image.png

根据服务器响应的结果,将token值提取出来设置为变量。

  1. {"resultCode":200,"message":"SUCCESS","data":"2274acb7553aaa36a17a3f125c49ff1f"}
  2. 找到token值的特征
  3. "data":"(.+?)"


JMeter 正则表达式提取器 - 图3引用token 变量
image.png
运行,可以看到token的变量值已经被提取到。
image.png

正则提取器使用技巧

image.png
搜索接口 服务器返回的结果中有商品的id,现在要提取商品的id,使用正则表达式提取。

找到数据特征

提取商品的id,通过观察发现,这个值的特征

  1. "goodsId":10161
  2. 前面有 "goodsId": 这个特征,通过这个特征可以找到对应的商品。
  3. 就把复制出来,将要提取值使用 (.+?)来代替。
  4. "goodsId":(.+?)

测试表达式

设置完成之后,先进行测试。选择【RegExp Tester】
JMeter 正则表达式提取器 - 图7
在测试模式下,发现提取到的值不对
JMeter 正则表达式提取器 - 图8
继续优化表达式,通过仔细观察,每个id的左边的特征 "goodsId": 右边的特征 ,
所以

  1. "goodsId":10163,
  2. 将要提取的数据 设置为 (.+?) 表达式为 "goodsId":(.+?),

JMeter 正则表达式提取器 - 图9
测试通过之后,添加正则表达式提取器。JMeter 正则表达式提取器 - 图10

提取两个值

JMeter 正则表达式提取器 - 图11
模板中使用 $1$$2$
在调用提取的对象那个的是
${title_g1} 对应 $1$模板对应的值
${title_g2} 对应 $2$ 模板对应的值
引用的时候 变量名后跟 _g2 第二个值
JMeter 正则表达式提取器 - 图12
线程组-串联-正则.jmx

总结

使用正则表达式提取器 可以提取到对应的值。
功能跟json,jmespath 提取器原理一样。
只不过 json,jmespath 提取器使用的使用的时候,服务器返回结果必须是json格式的数据。
而 正则表达式提取器可以提取任意类型的服务器返回结果