Java 通过JMeter正则表达式提取器从响应中提取ID
我需要使用正则表达式通过jmeter从响应中提取会话id和用户id 答复:Java 通过JMeter正则表达式提取器从响应中提取ID,java,regex,jmeter,Java,Regex,Jmeter,我需要使用正则表达式通过jmeter从响应中提取会话id和用户id 答复: \"SessionIdEncr\":\"TLGdqhQbxkEOziVJYXMD7Q==\",\"userIDEncr\":\"9xJbu+CGYN5RnnALeC8mKQ==\" 它的正则表达式是什么?尝试使用以下模式: "SessionIdEncr":"([^"]+)","userIDEncr":"([^"]+)" 关于正则表达式模式没有太多的解释,除了([^“]+)使用一个技巧捕获值之外。它只在不捕获另一个双引
\"SessionIdEncr\":\"TLGdqhQbxkEOziVJYXMD7Q==\",\"userIDEncr\":\"9xJbu+CGYN5RnnALeC8mKQ==\"
它的正则表达式是什么?尝试使用以下模式:
"SessionIdEncr":"([^"]+)","userIDEncr":"([^"]+)"
关于正则表达式模式没有太多的解释,除了([^“]+)
使用一个技巧捕获值之外。它只在不捕获另一个双引号的情况下进行,这意味着该键/值对的结束引号
这将捕获基本64编码的会话ID和用户ID,并将它们作为$1$
和$2$
在提取器模板中可用
在JMeter中,您可以使用查看结果树测试/修复正则表达式: Regexp Tester视图仅适用于文本响应。它在上部面板中显示纯文本。“测试”按钮允许用户将正则表达式应用于上部面板,结果将显示在下部面板中。 正则表达式引擎与正则表达式提取器中使用的引擎相同 在您的情况下,为会话ID创建2 s,使用以下正则表达式:
SessionIdEncr\\":\\"([^\\]+)
以类似方式获取用户ID
- 创建变量的名称:任何有意义的内容,即
id
- 正则表达式:
其他字段可以留空\\\“SessionIdEncr\\”:\\“(.+?)”,\\“userIDEncr\\”:\\“(.+?)”
${id\u g1}
,UserId
称为${id\u g2}
${sessionId}
@GracesonAlias我认为您不需要“\”,但如果需要,请使用SessionIdEncr\\“:\”([^”]+)
回归匹配工作正常,但最后的“\”不会被提取。