首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >websocket文本框架过滤器中如何使用正则表达式

websocket文本框架过滤器中如何使用正则表达式
EN

Stack Overflow用户
提问于 2020-09-08 09:04:37
回答 2查看 372关注 0票数 0

我有一个响应{“服务器”:{“事件”:“广播”,“广播”:“事件”,“事件”:{“现金”:0.0,"id":"3",“动作”:“卡”,"cad":"35",“得分”:“3”,“cad”:“1”}}{“现金”:0.0,"id":"0",“action”:“cad”,"cad":"-1",“得分”:“0”,“数字”:“1”},{“现金”:0.0,"id":"3","action":"card","cad":"20",“得分”:“13”,"cadcount":"2"},{“现金”:0.0,"id":"0",“action”:“关闭”,"cad":"-1",“得分”:“-5”,"cadcount":"2"},{“现金”:0.0," id ":"0","action":"cad1oen","cad":"48",“得分”:“-5”,"cadcount":"1"},{“现金”:0.0,"id":"0","action":"play",“.Here”}.Here id值从0到5。

我使用{“现金”:0.0,“id”:(“0”\“${id}”),“操作”:“播放”在websocket文本框筛选器中捕获上面提到的reponse.But我得到了一个错误"java.util.regex.PatternSyntaxException:非法重复“.How来解决这个问题?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-09-08 11:04:48

很简单。

可以使用下面的regex表达式提取所需的数据。

代码语言:javascript
复制
{"cash":(.+?),"id":"(.+?)","action":"(.+?)","cad":"(.+?)","score":"(.+?)","cadcount":"(.+?)"}

按照以下方式配置正则表达式抽取器

此regex将提取以下信息:

代码语言:javascript
复制
extractedData_g1 = cash
extractedData_g2 = id
extractedData_g3 = action
extractedData_g4 = cad
extractedData_g5 = score
extractedData_g6 = cadcount

我使用https://regexr.com/生成这个表达式,您可以参考下面的屏幕截图

票数 1
EN

Stack Overflow用户

发布于 2020-09-08 09:42:47

因此,您正在接收JSON,因此考虑使用JSON萃取器更有意义,它允许执行Json路径查询从JSON响应中获取“有趣”数据。

特别是在您的情况下,相关的Json路径查询应该是这样的:

代码语言:javascript
复制
$.server.events[?(@.cash == 0.0 && @.action=='play')].id

演示:

更多信息:JMeter的JSON路径抽取插件-高级使用场景

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63790637

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档