在jmeter中,我需要提取第36个字符之后的数字。
示例
Response: {"data":{"paymentId":"DOM1234567890111243"}}
我需要提取:11243(有时只有1或2或3或4位数字)
右边界:DOM12345678901也不断变化。但是右边界长度始终为36个宪章。
任何帮助都会受到赞赏。
答案 0 :(得分:2)
您的响应数据似乎是JSON,因此我不会依赖此“ 36个字符”,因为其格式可能有所不同。
我建议先提取此paymentId
值,然后将正则表达式应用于此DOMxxx
位。
将以下代码放入“脚本”区域:
def dom = new groovy.json.JsonSlurper().parse(prev.getResponseData()).data.paymentId
log.info("DOM: " + dom)
def myValue = ((dom =~ ".{14}(\\d+)")[0][1]) as String
log.info("myValue: " + myValue)
vars.put("myValue", myValue)
就是这样,您应该可以在需要的情况下以${myValue}
的身份访问提取的数据。
更多信息:
答案 1 :(得分:1)
如果您要检查的字符串中没有其他内容,则可以使用类似以下内容的
:.{36}(\d+)
此正则表达式的第一组将是您要查找的号码。