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

使用正则

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

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

  1. {"resultCode":200,"message":"SUCCESS","data":"2274acb7553aaa36a17a3f125c49ff1f"}

找到token值的特征

  1. "data":"(.+?)"

image.png

引用token 变量
image.png
运行,可以看到token的变量值已经被提取到。
image.png

正则提取器使用技巧

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

找到数据特征

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

  1. "goodsId":10161

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

  1. "goodsId":(.+?)

测试表达式

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

  1. "goodsId":10163,

将要提取的数据 设置为 (.+?) 表达式为

  1. "goodsId":(.+?),

image.png
测试通过之后,添加正则表达式提取器。
image.png

提取两个值

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

总结

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