我用计量器做休息测试。我已经发出了HTTP请求,这是响应数据:
{"id":11,"name":"value","password":null,"status":"ACTIVE","lastIp":"0.0.0.0","lastLogin":null,"addedDate":1429090984000}我只需要ID ( 11)在
{"id":11,....我使用以下REGEX:
([0-9].+?)它工作得很好,但是如果我的ID超过2位数的话,这将是个问题。我需要将REGEX改为:
([0-9][0-9].+?)我的问题有什么动态的REGEX吗。感谢您的关注。
你好,Stefio
发布于 2015-04-15 10:25:18
如果要在{"id":和,之间使用任何整数,请使用以下正则表达式:
{"id":(\d+),然而,处理JSON数据的更明智的方法可能是JSON路径抽取器 (可通过JMeter插件获得),接下来这个选项可以更容易地用于复杂的JSON。
请参阅XPath提取器在JMeter中的应用指南(向下滚动到“解析JSON"),以了解有关语法和用例的更多信息。
发布于 2015-04-15 13:54:02
我建议使用以下正则表达式:
"id":([^,]*),这将首先找到"id":然后查找任何不是逗号的东西,直到找到逗号为止。注意,字符分组仅围绕ID的值。
这将适用于任何长度ID。
编辑:几乎任何JSON数据都可以使用相同的概念,例如引用值的情况:
"key":"([^"]*)"该正则表达式将从给定的键中提取值,只要值被引用并且不包含引号。它首先查找"key":然后匹配任何在下一个引号之前不是引号的内容。
发布于 2015-04-15 10:01:01
您可以像这样使用量词:
([0-9]{2,}.+?)它将捕获两个或两个以上的数字,然后任何符号,1次或更多次。如果要在数字之后不允许其他字符,请使用*而不是+。
([0-9]{2,}.*?)https://stackoverflow.com/questions/29647182
复制相似问题