Regex 如何从JMeter中的相应响应中提取“ZTlhMDNhOGVkZV8xNTY3Mjk3MjAw”值?该值“ZTlhMDNhOGVkZV8xNTY3Mjk3MjAw”是动态的
答复:Regex 如何从JMeter中的相应响应中提取“ZTlhMDNhOGVkZV8xNTY3Mjk3MjAw”值?该值“ZTlhMDNhOGVkZV8xNTY3Mjk3MjAw”是动态的,regex,jmeter,extractor,Regex,Jmeter,Extractor,答复: { "service_name": "signup", "message": "Sign Up has been done successfully", "global_error": "", "error": [], "data": { "session_key": "8f29d7c93e7089841208e94a7d98fc22", "user_profile": { "user_id": 65, "user_unique
{
"service_name": "signup",
"message": "Sign Up has been done successfully",
"global_error": "",
"error": [],
"data": {
"session_key": "8f29d7c93e7089841208e94a7d98fc22",
"user_profile": {
"user_id": 65,
"user_unique_id": "e9a03a8ede",
"dob": "Dec 06, 1998",
"first_name": "FC7155313",
"last_name": "FC1791398",
"user_name": "FCwqim178",
"email": "fc_slekjbp@mailinator.com",
"phone_no": "3362239492",
"balance": "0",
"status": "2",
"image": "http://dummy.projects.com/app/assets/img/default_user.png",
"currency": "$",
"profile_status": 1,
"require_otp": false,
"existing_user": 0,
"master_country_id": null,
"master_state_id": "3919"
},
"verification_link": "http://dummy.projects.com/activation/ZTlhMDNhOGVkZV8xNTY3Mjk3MjAw",
"send_email_otp": false,
"send_phone_otp": false
},
"response_code": 200
}
我正在使用JMeter,希望在下一个API中传递ZTlhMDNhOGVkZV8xNTY3Mjk3MjAw值。
该值ZTlhMDNhOGVkZV8xNTY3Mjk3MjAw为每个新用户注册生成动态。
但我的正则表达式不起作用
我写的正则表达式:
,"verification_link":"http://dummy.projects.com/activation/(.+?)","send_email_otp":
Template: $1$
Match No.: 1
您的正则表达式只匹配URL的第一部分,而不是您实际需要的部分。请尝试以下方法:
http:\/\/dummy\.projects\.com\/activation\/(.+)\",
这个?部分匹配在1和无限时间之间,尽可能少的时间称为延迟匹配,由+?。因此,您匹配激活/后出现的任何字符的第一个字符,然后停止。您没有得到您想要的全部值。您的响应似乎是一个实体,因此有一个很高的变化,它看起来像:
{
"service_name": "signup",
"message": "Sign Up has been done successfully",
"global_error": "",
"error": [
],
"data": {
"session_key": "8f29d7c93e7089841208e94a7d98fc22",
"user_profile": {
"user_id": 65,
"user_unique_id": "e9a03a8ede",
"dob": "Dec 06, 1998",
"first_name": "FC7155313",
"last_name": "FC1791398",
"user_name": "FCwqim178",
"email": "fc_slekjbp@mailinator.com",
"phone_no": "3362239492",
"balance": "0",
"status": "2",
"image": "http://dummy.projects.com/app/assets/img/default_user.png",
"currency": "$",
"profile_status": 1,
"require_otp": false,
"existing_user": 0,
"master_country_id": null,
"master_state_id": "3919"
},
"verification_link": "http://dummy.projects.com/activation/ZTlhMDNhOGVkZV8xNTY3Mjk3MjAw",
"send_email_otp": false,
"send_phone_otp": false
},
"response_code": 200
}
因此,这个send_email_otp位可以很容易地转到下一行,在这种情况下,正则表达式将不匹配任何内容
我建议将您的正则表达式修改为:
"verification_link":\s?"http://dummy.projects.com/activation/(\w+)"
演示:
参考资料:
你用OP字符串试过正则表达式吗?它比我们想要的要匹配text@Toto结尾有一个逗号,请查看我在answerThis regex\.projects\.com/activation/+\中的链接,该链接不起作用。我无法提取验证链接value@C_J您正在提取组1吗?你得到了什么结果?查看更新的正则表达式,也许这会对您有所帮助?如果在比赛结束后,有一个输入碰巧有另一个输入,则会中断…您的正则表达式应该可以工作。能否显示您正在使用的代码?此正则表达式验证链接:\s?\w+不起作用。我无法提取验证链接值