JMeter正则表达式提取器

正则表达式提取器控制面板:

 

 

 位置1:名称及注释

位置2:正则表达式提取内容的范围。(关于各字段的详细说明请查询协议的相关说明)

位置3:正则表达式提取的相关设置

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

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

  -() 小括号括起来的部分就是要提取的内容,对于自己要提取的内容要用小括号括起来

  -. 点号表示匹配任何字符串

  - + 加号表示匹配一次或多次

  - ? 表示 非贪婪  匹配第一个匹配项后停止

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

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

缺省值:正则表达式匹配失败时,取的值。

 

问题1:(.+?) 与 (.*?)区别

(.+?) 匹配一个以上

(.*?)匹配0个及以上,要取的值是空值的时候可以取到。

比如: labelld:""; 要取labelled的值,使用(.+?)匹配不到值,使用(.*?)就可以取到值  空;对应的写法为label:"(.*?)";

问题2:一个表达式匹配多个参数

 

 

 调用方法:

${list_g1}   ${list_g2}

${list_ALL} 获取全部的值

 

posted @ 2022-03-17 11:31  GalaxyStar  阅读(241)  评论(0编辑  收藏  举报