Jmeter后置处理器,正则表达式提取器的使用

【使用场景】:下一个请求参数需要从上一个请求的响应数据中获取

【jmeter正则表达式说明】:使用perl正则表达式(可参考:http://www.runoob.com/perl/perl-regular-expressions.html)

【语法】:

    ()   括起来的部分就是要提取的。

    .    匹配任何字符串。
    *    表示任意个字符 
    +   一次或多次。
    ?   不要太贪婪,在找到第一个匹配项后停止。
    \d        数字
    \w       数字或者字母
    {n}       表示n个字符
    {n,m}   表示n-m个字符
    \s         表示空白符
    []     表示范围,比如:
    [0-9a-zA-Z\_] 可以匹配一个数字、字母或者下划线  
    ^    表示行的开头, ^\d表示必须以数字开头。
    $    表示行的结束, \d$表示必须以数字结束。
    A|B  可以匹配A或B,如 (P|p)ython可以匹配 'Python'或者 'python'
    ()   表示的就是要提取的分组(Group),如  m = re.match(r'^(\d{3})-(\d{3,8})$', '010-12345')
【实例说明】:
1、添加正则表达式提取器,参数说明如下:
  引用名称:如文字意义一样,在其他地方调用的时候所使用的名称,调用方式${orderid}
  睁着表达式:根据语法编写正则表达式,括号内的为索要匹配内容(如需要匹配多个内容可用逗号隔开,如:(.*?),(.+?))
  模板:$$表示你要是用那个正则表达式那个模板获取的值   -1全部,0 随机,1第一个,2第二个...,如果只有一个正则一般就填写$1$,也可有多个模板,如$1$,$2$
  匹配数字:-1表示全部,0随机,1第一个,2第二个...
  缺省值:这个如果没有匹配到,给它定义的一个默认值

 2、正则表达式提取的值的使用

  使用方式如下${orderid}

3、推荐一个正在表达式小工具RegexTeste,下载即可使用

      

 ps:想了解更多模板和数据数量情况,即不同情况数据获取与处理,可查看博客,个人感觉博主写的很不错:https://wenku.baidu.com/view/e668f5f5b9f67c1cfad6195f312b3169a451eaf0.html

猜你喜欢

转载自www.cnblogs.com/danmai/p/8981414.html