正则表达式从Jmeter中的值数组中获取单个id

时间:2018-04-27 10:24:19

标签: jmeter

正则表达式,用于从Jmeter

中的值数组中获取单个id

某些响应在organization_ids下具有多个值,而某些响应将具有单个值。

当前正则表达式的值为:

"org_ids":(\[.*?\])

反应: " org_ids":1234

一些回复: " org_ids":[" 12234"" 133424"" 234324"]

当数组中存在多个值时,只需要获取一个值。

响应: " org_ids":[" 5a7c2"" 56d0da"" 5727"]

请指导哪个正则表达式只能从上面的数组中给出一个值。

2 个答案:

答案 0 :(得分:1)

您正在对整个阵列进行分组。您可以只对第一个匹配进行分组:

"org_ids":\["([^"]*)".*

因此,该组会包含一个",然后是最大可能的非"匹配,然后是一个"。或者修改你拥有的东西:

"org_ids":\["(.*?)".*

非贪婪地搜索两个"之间的所有内容。

答案 1 :(得分:1)

您的回答看起来完全像JSON,因此使用正则表达式解析它并不是最好的主意,您可以使用JSON Extractor

轻松实现相同的效果
  1. 将JSON Extractor添加为返回上述数据的请求的子项
  2. 按如下方式配置:

    • 创建变量的名称:任何有意义的变体,即org_id
    • JSON路径表达式:$..org_ids[*]
    • 匹配号码:0
  3. 就是这样,现在你将有一个随机的org_id作为${org_id} JMeter变量。
  4. 参考文献: