前言:
作者简介:短尾巴小鳄鱼 ,一位不放弃自己的上进卷妹
💬 如果文章知识点有错误的地方,请留言指正~和大家一起学习,一起进步
💬 人生格言:昨日种种,皆成今我。今日种种,方成新我。切莫踌躇,莫停留,莫沉溺💬
如果感觉博主的文章还不错的话,还请关注、点赞、收藏三连支持一下博主哦
JSON提取器只能提取响应内容,而正则表达式提取器可以提取响应头、请求头的值,当然也可以提取响应内容。


参数不好理解,下面来举例子啦~
还是以这个地址的接口来测试哦
http://api.yesapi.cn/docs.php?keyword=%E4%BC%9A%E5%91%98&channel=api
创建测试计划:

会员登录接口的响应内容:
{"ret":200,"data":{"err_code":0,"err_msg":"","uuid":"F118DD335346CE9D7094C97190587108","token":"C1CA708E57F0C33E548745B0D82ADA2A800D886D17BA44261459C39C52376C0D","role":"user"},"msg":"V3.3.0 YesApi App.User.Login 2022-03-20 10:25:40 hd215"}
正则表达式提取器-提取token:

正则表达式提取器-提取uuid:

( )里面写匹配规则,用于解析正则表达式.*?表示匹配任意长度的任意字符,这也是最常用的正则表达式其他接口调用正则表达式提取的变量:

测试接口:http://api.yesapi.cn/docs-api-App.User.GetList.html
响应内容:
{
"ret":200,
"data":
{
"err_code":0,
"err_msg":"",
"users":
[
{
"uuid":"F118DD335346CE9D7094C97190587108",
"username":"xey032001",
"role":"user",
"role_desc":"普通会员",
"status":0,
"status_desc":"正常",
"reg_time":"2022-03-20 10:25:40",
"ext_info":
{
"yesapi_avatar":"",
"yesapi_nickname":"",
"yesapi_email":"",
"yesapi_sex":"",
"yesapi_real_name":"",
"yesapi_points":0,
"yesapi_reg_source":"",
"yesapi_reg_note":"",
"yesapi_mobile":"",
"yesapi_expiration_time":""
}
},
{
"uuid":"AAC71046CFA51B8A55D4367652791D66",
"username":"xey04",
"role":"user",
"role_desc":"普通会员",
"status":0,
"status_desc":"正常",
"reg_time":"2022-03-19 13:22:24",
"ext_info":
{
"yesapi_avatar":"",
"yesapi_nickname":"",
"yesapi_email":"",
"yesapi_sex":"",
"yesapi_real_name":"",
"yesapi_points":0,
"yesapi_reg_source":"",
"yesapi_reg_note":"",
"yesapi_mobile":"",
"yesapi_expiration_time":""
}
},
{
"uuid":"97F22D1CD99D17C2CF29510C728F6570",
"username":"xey03",
"role":"user",
"role_desc":"普通会员",
"status":0,
"status_desc":"正常",
"reg_time":"2022-03-19 13:18:56",
"ext_info":
{
"yesapi_avatar":"",
"yesapi_nickname":"",
"yesapi_email":"",
"yesapi_sex":"",
"yesapi_real_name":"",
"yesapi_points":0,
"yesapi_reg_source":"",
"yesapi_reg_note":"",
"yesapi_mobile":"",
"yesapi_expiration_time":""
}
},
{
"uuid":"770A6910AF264AEB73F6ECAFEB5BBFB6",
"username":"xey02",
"role":"user",
"role_desc":"普通会员",
"status":0,
"status_desc":"正常",
"reg_time":"2022-03-19 13:15:35",
"ext_info":
{
"yesapi_avatar":"",
"yesapi_nickname":"",
"yesapi_email":"",
"yesapi_sex":"",
"yesapi_real_name":"",
"yesapi_points":0,
"yesapi_reg_source":"",
"yesapi_reg_note":"",
"yesapi_mobile":"",
"yesapi_expiration_time":""
}
},
{
"uuid":"690815A62298F01009010BA062773A9F",
"username":"xey01",
"role":"user",
"role_desc":"普通会员",
"status":0,
"status_desc":"正常",
"reg_time":"2022-03-19 13:14:03",
"ext_info":
{
"yesapi_avatar":"",
"yesapi_nickname":"",
"yesapi_email":"",
"yesapi_sex":"",
"yesapi_real_name":"",
"yesapi_points":0,
"yesapi_reg_source":"",
"yesapi_reg_note":"",
"yesapi_mobile":"",
"yesapi_expiration_time":""
}
},
{
"uuid":"24249E71ABBD72D7C1DE8B3E95A0FBBE",
"username":"xey",
"role":"user",
"role_desc":"普通会员",
"status":0,
"status_desc":"正常",
"reg_time":"2022-03-19 13:08:25",
"ext_info":
{
"yesapi_avatar":"",
"yesapi_nickname":"",
"yesapi_email":"",
"yesapi_sex":"",
"yesapi_real_name":"",
"yesapi_points":0,
"yesapi_reg_source":"",
"yesapi_reg_note":"",
"yesapi_mobile":"",
"yesapi_expiration_time":""
}
}
],
"total":6
},
"msg":"V3.3.0 YesApi App.User.GetList 2022-03-20 11:16:58 hd215"
}
提取一个值:
正则表达式中只提取一个值,且匹配数字不是-1
未填写模板

PS:匹配数字填1,表示如果有多个uuid,则匹配到第一个,这里与JSON提取器相同
测试结果:
uuid=
uuid_g=1
uuid_g0="uuid":"F118DD335346CE9D7094C97190587108"
uuid_g1=F118DD335346CE9D7094C97190587108
可以看到,如果正则匹配到值,但是没有填写模板,则返回空
模板写$0$

测试结果:
uuid="uuid":"F118DD335346CE9D7094C97190587108"
uuid_g=1
uuid_g0="uuid":"F118DD335346CE9D7094C97190587108"
uuid_g1=F118DD335346CE9D7094C97190587108
可以看到,如果模板填写的$0$,uuid取的是uuid_g0
模板写$1$
测试结果:
uuid=F118DD335346CE9D7094C97190587108
uuid_g=1
uuid_g0="uuid":"F118DD335346CE9D7094C97190587108"
uuid_g1=F118DD335346CE9D7094C97190587108
可以看到,如果模板写$1$,uuid取的是uuid_g1
模板写$2$(不存在)
测试结果:
uuid=null
uuid_g=1
uuid_g0="uuid":"F118DD335346CE9D7094C97190587108"
uuid_g1=F118DD335346CE9D7094C97190587108
可以看到,如果模板不存在,uuid为null(即使勾选了使用空默认值,也返回null)
提取多个值:

测试结果:
uuid_1=F118DD335346CE9D7094C97190587108
uuid_1_g=1
uuid_1_g0="uuid":"F118DD335346CE9D7094C97190587108"
uuid_1_g1=F118DD335346CE9D7094C97190587108
uuid_2=AAC71046CFA51B8A55D4367652791D66
uuid_2_g=1
uuid_2_g0="uuid":"AAC71046CFA51B8A55D4367652791D66"
uuid_2_g1=AAC71046CFA51B8A55D4367652791D66
uuid_3=97F22D1CD99D17C2CF29510C728F6570
uuid_3_g=1
uuid_3_g0="uuid":"97F22D1CD99D17C2CF29510C728F6570"
uuid_3_g1=97F22D1CD99D17C2CF29510C728F6570
uuid_4=770A6910AF264AEB73F6ECAFEB5BBFB6
uuid_4_g=1
uuid_4_g0="uuid":"770A6910AF264AEB73F6ECAFEB5BBFB6"
uuid_4_g1=770A6910AF264AEB73F6ECAFEB5BBFB6
uuid_5=690815A62298F01009010BA062773A9F
uuid_5_g=1
uuid_5_g0="uuid":"690815A62298F01009010BA062773A9F"
uuid_5_g1=690815A62298F01009010BA062773A9F
uuid_6=24249E71ABBD72D7C1DE8B3E95A0FBBE
uuid_6_g=1
uuid_6_g0="uuid":"24249E71ABBD72D7C1DE8B3E95A0FBBE"
uuid_6_g1=24249E71ABBD72D7C1DE8B3E95A0FBBE
uuid_matchNr=6
一个正则表达式有多个( ):
模板为空:

测试结果:
uuid=
uuid_g=2
uuid_g0="uuid":"F118DD335346CE9D7094C97190587108","username":"xey032001"
uuid_g1=F118DD335346CE9D7094C97190587108
uuid_g2=xey032001
可以看到,如果模板为空,取不到值,uuid为空
只有一个模板:

测试结果:
uuid=F118DD335346CE9D7094C97190587108
uuid_g=2
uuid_g0="uuid":"F118DD335346CE9D7094C97190587108",
"username":"xey032001"
uuid_g1=F118DD335346CE9D7094C97190587108
uuid_g2=xey032001
可以看到,如果只有一个模板,取到了uuid_g1
有两个模板:

测试结果:
uuid=F118DD335346CE9D7094C971q90587108,
xey032001
uuid_g=2
uuid_g0="uuid":"F118DD335346CE9D7094C97190587108",
"username":"xey032001"
uuid_g1=F118DD335346CE9D7094C97190587108
uuid_g2=xey032001
可以看到,uuid取到了两个值uuid_g1和uuid_g2,并且用逗号拼接
注意:
引用名称、匹配数字、缺省值只需要填一个即可,不需要跟正则表达式的数量一致
也可以用. - 拼接,只要模板也用. 或- 拼接即可,如模板填: 1 1 1- 2 2 2q