【使用场景】:下一个请求参数需要从上一个请求的响应数据中获取
【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