• Jmeter之正则表达式提取器


      在很多情况下,我们需要提取响应结果中的一些信息,供后续功能使用。可以使用后置处理器中的正则表达式提取器。

    一、正则表达式提取器

     

     二、配置说明

      1、姓名:标识

      2、注释:备注

      3Apply to:正则表达式提取内容的范围(一般就选择默认的Main sample only

      4、要检查的响应字段:需要提取的数据源

      5、引用名称:变量名,供其他地方使用,和Jmeter变量引用一致(${变量名})

      6、正则表达式:提取的正则表达式

      (1、使用()表示需要提取的部分--一定要是英文模式下的小括号

      (2. 表示匹配任何字符

      (3+ 一次或多次

      (4、?表示在找到第一个匹配项后停止寻找

      ----注意点1

      一般情况需要窃取的是其中的某一部分,所以一定要使用?,再找到自己需要的数据后,就停止;在使用?()后需要添加终止的点,不然会在找到第一个字符就停下。

      比如:

      字符串为:A:11,B:12

      在提取的时候,不加?---A:(.+)---->提取的值为:11,B:12

      在提取的时候,加?但是不加结束点---A:(.+?)---->提取的值为:1

      想正确的取值到11,配置为:A:(.+?),

      -----重点2:要提取不是相邻位置(即:中间隔了其他字符)的两个或多个字符,可使用:.+?进行连接

      如:

      "A1":"([^"]+?)".+?"C1":"(.+?)"

      这样会在提取A1后,不管中间的内容,再提取C1的数据。

      7、模板:对应提取的模式,样式为:$n$n标识提取的第几个变量

      (如果提取了多个值,可以通过$1$,$2$,$...$提取出相应的值)

      如:正则表达式为:

      "A1":"([^"]+?)","C1":"(.+?)"

      模板可以设置为:$1$,$2$---$1$表示匹配A1后的值;$2$表示破匹配C1后的值;

      在提取多个时,如果模板设置为$2$将只提取C1后的数据;

      8、匹配数字:正则提取后的结果可以看做是一个数组,匹配数字即可看成是数组的第一个元素。

      (0代表随机取值,-1代表所有值,其余正整数代表第几个匹配的内容;如果设置为-1,可以通过:${status_1}提取出第一个值;其他类似)

      在设置为-1时,也可以和ForEach Controller一起使用来遍历所有的数据。

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

  • 相关阅读:
    [LeetCode 049] Group Anagrams
    [LeetCode 033] Search in Rotated Sorted Array
    [LeetCode 024] Swap Nodes in Pairs
    [LeetCode 016] 3Sum Closest
    [LeetCode 015] 3Sum
    [LeetCode 013] Roman to Integer
    [LeetCode 008] String to Integer (atoi)
    [LeetCode 007] Reverse Integer
    第四课:文件操作【解密】
    第三课:文件操作【逐步浅入,深入加解法】
  • 原文地址:https://www.cnblogs.com/smallstone2018/p/9799734.html
Copyright © 2020-2023  润新知