JMeter:如何使用正则表达式提取重复字段的值?


问题内容

我有以下响应正文JSON:

{
    "address": [
    {
        "id": "1234"
    }
    ],
    "id": "d1a4f010-48d9-434b-9b3a-2d2b12f5e38c"
}

我正在尝试提取 第二个 “ id”字段的值,即

"id": "d1a4f010-48d9-434b-9b3a-2d2b12f5e38c"

我在JMeter中使用以下正则表达式: 正则表达式:“ id”:“(。+?)”

当我运行测试时,它将返回“ 1234”而不是GUID。如何更改我的正则表达式,使其返回GUID?


问题答案:

您可以使用惰性正则表达式直接查找guid,而不用查找“ id”

像这样: ([0-9a-z-]{36}).*?

如果不确定如何创建正则表达式,只需使用在线正则表达式制造商即可。