【使用场景】:下一个请求参数需要从上一个请求的响应数据中获取
【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
转载:https://www.cnblogs.com/danmai/p/8981414.html
原文地址:https://www.cnblogs.com/yuany66/p/11781007.html