首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Regex HTTP响应正文消息

Regex HTTP响应正文消息
EN

Stack Overflow用户
提问于 2015-04-15 09:58:40
回答 3查看 1.4K关注 0票数 1

我用计量器做休息测试。我已经发出了HTTP请求,这是响应数据:

代码语言:javascript
复制
{"id":11,"name":"value","password":null,"status":"ACTIVE","lastIp":"0.0.0.0","lastLogin":null,"addedDate":1429090984000}

我只需要ID ( 11)在

代码语言:javascript
复制
{"id":11,....

我使用以下REGEX:

代码语言:javascript
复制
([0-9].+?)

它工作得很好,但是如果我的ID超过2位数的话,这将是个问题。我需要将REGEX改为:

代码语言:javascript
复制
([0-9][0-9].+?)

我的问题有什么动态的REGEX吗。感谢您的关注。

你好,Stefio

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-04-15 10:25:18

如果要在{"id":,之间使用任何整数,请使用以下正则表达式:

代码语言:javascript
复制
{"id":(\d+),

然而,处理JSON数据的更明智的方法可能是JSON路径抽取器 (可通过JMeter插件获得),接下来这个选项可以更容易地用于复杂的JSON。

请参阅XPath提取器在JMeter中的应用指南(向下滚动到“解析JSON"),以了解有关语法和用例的更多信息。

票数 2
EN

Stack Overflow用户

发布于 2015-04-15 13:54:02

我建议使用以下正则表达式:

代码语言:javascript
复制
"id":([^,]*),

这将首先找到"id":然后查找任何不是逗号的东西,直到找到逗号为止。注意,字符分组仅围绕ID的值。

这将适用于任何长度ID。

编辑:几乎任何JSON数据都可以使用相同的概念,例如引用值的情况:

代码语言:javascript
复制
"key":"([^"]*)"

该正则表达式将从给定的键中提取值,只要值被引用并且不包含引号。它首先查找"key":然后匹配任何在下一个引号之前不是引号的内容。

票数 1
EN

Stack Overflow用户

发布于 2015-04-15 10:01:01

您可以像这样使用量词:

代码语言:javascript
复制
([0-9]{2,}.+?)

它将捕获两个或两个以上的数字,然后任何符号,1次或更多次。如果要在数字之后不允许其他字符,请使用*而不是+

代码语言:javascript
复制
([0-9]{2,}.*?)

Regex演示

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

https://stackoverflow.com/questions/29647182

复制
相关文章

相似问题

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