千家信息网

jmeter正则表达式如何使用

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,这篇文章主要讲解了"jmeter正则表达式如何使用",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"jmeter正则表达式如何使用"吧!运用Jmeter正
千家信息网最后更新 2026年11月02日jmeter正则表达式如何使用

这篇文章主要讲解了"jmeter正则表达式如何使用",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"jmeter正则表达式如何使用"吧!

运用Jmeter正则提取器,可以从请求的响应结果中取到需要的内容,从而实现关联。

关联是请求与请求之间存在数据依赖关系,需要从上一个请求获取下一个请求需要回传回去的数据

在查看结果树中找到相应数据,我们需要取得actionId,buttonName

需要选中请求右键,添加-后置处理器-正则表达式提取器(需要在哪个请求的响应数据中拿到,就在哪个请求上添加。后置处理器的意思是请求会先执行,再从响应数据中取值)

如上图,正则表达式的属性就是这样,先简单介绍下字段什么意思,再举例说明

名称: 自己写一个就好

Apple to:和要检查的相应字段,一般都默认,主要是针对响应数据中的值去处理,如有其它需要,可以参考jmeter说明

  • 引用名称:自己定义的变量名称,后续请求将要引用到的变量名,如填写的是:actionId,后面的引用方式是${actionId}

  • 正则表达式:提取内容的正则表达式,相当于lr中的关联函数

  • 【"()" 括起来的部分就是需要提取的,对于你要提的内容需要用小括号括起来】

  • 【".":匹配除了换行符以外的任何字符】

  • 【"*"(贪婪) 重复零次或更多 例如"aaaaaaaa" 匹配字符串中所有的a 正则: "a*" 会出到所有的字符"a"】

  • 【"+"(懒惰) 重复一次或更多次 例如"aaaaaaaa" 匹配字符串中所有的a 正则: "a+" 会取到字符中所有的a字符, "a+"与"a*"不同在于"+"至少是一次而"*" 可以是0次】

  • 【"?"(占有) 重复零次或一次 例如"aaaaaaaa" 匹配字符串中的a 正则 : "a?" 只会匹配一次,也就是结果只是单个字符a】

  • 【"*?" 重复任意次,但尽可能少重复 例如 "acbacb" 正则 "a.*?b" 只会取到第一个"acb" 原本可以全部取到但加了限定符后,只会匹配尽可能少的字符 ,而"acbacb"最少字符的结果就是"acb" 】

  • 【"+?" 重复1次或更多次,但尽可能少重复,与"*?" 一样,只是至少要重复1次】还有分组的情况,常用的就这两种,其它的可以再自行百度

  • 【"(?=exp)" 匹配exp前面的位置】

  • 【"(?<=exp)" 匹配exp后面的位置】

  • 模板:用$$引用起来,如果在正则表达式中有多个正则表达式(多个括号括起来的),则可以是$2$,$3$等等,表示解析到的第几个值给actionId。例如:$1$表示匹配到的第一个值

  • 匹配数字:0代表随机取值,-1代表所有值,此时提取结果是一个数组,其余正整数代表第几个匹配的内容提取出来。如果匹配数字选择的是-1,还可以通过${actionId}的方式来取第1个匹配的内容,${actionId}来取第2个匹配的内容。

  • 缺省值:正则匹配失败时,取的值

想要知道正则表达式是否正确,可以在请求后加入调试取样器

右键-添加-取样器-调试取样器

响应数据:[{"actionId":"save_G_1_zdhflow.1","buttonName":"保存"},{"actionId":"G_1_zdhflow.1","buttonName":"商务技术审核"}]

没有特殊的情况用(.*?)就可以解决所有问题,给大家举例

我们要取得actionId的值

1、正则表达式中复制,"actionId":"save_G_1_zdhflow.1","buttonName"

2、把save_G_1_zdhflow.1替换成(.*?)就可以了

匹配数字写成1,就是第一次匹配,因此得到的值 save_G_1_zdhflow.1

如果有修改匹配数字为2 ,就是G_1_zdhflow.1

我要匹配actionId,还要匹配buttonName怎么办?

1、正则表达式复制 "actionId":"save_G_1_zdhflow.1","buttonName":"保存"}

2、save_G_1_zdhflow.1和保存替换成(.*?)

3、模板要改成$1$$2$,因为有两个(.*?)而且这两个值都要拿到

就可以将actionId_g1和actionId_g2将变量传递下去

注意喽,如果我要把两个都取出来怎么办嘞,把匹配数字写成-1 即可

结果如下图

特例:

如果有响应数据只有数字,譬如返回的是个100, 就不能用.*?,因为?会取最小值,所以去掉就好,改为 (.*)

感谢各位的阅读,以上就是"jmeter正则表达式如何使用"的内容了,经过本文的学习后,相信大家对jmeter正则表达式如何使用这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!

正则 表达式 字符 内容 数据 就是 数字 结果 更多 两个 代表 变量 名称 字符串 尽可能 情况 取样器 关联 处理 学习 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 南京欣网互联网络科技 哈尔滨大商圈互联网科技有限公司 互联网为科技 科技服务与互联网 互联网未来科技 成都狮子座互联网科技 互联网科技生活的内容 农村开互联网科技讲堂 中国互联网有什么科技含量 互联网还是高科技吗 移动互联网年度科技创新 允成互联网科技有限公司融资 黑科技 体验场景 互联网大会 山东星卡互联网科技有限公司官网 珠海东科互联网科技有限公司 广州三三互联网科技有限公司 互联网科技的前景 深圳互联网科技园地址 互联网科技大佬云集 黑龙江互联网科技公司 杭州互联网科技公司 佰商互联网科技有限公司 人人互联网科技是培训 哈尔滨秒房互联网科技有限公司 华服互联网科技官网 中国互联网十大科技股排名 美国互联网科技实力 广州千川互联网科技有限公司 北京军民互联网科技公司 互联网科技企业文化
0