从我在 http 响应中收到的以下字符串:
<res>
<resultCode>100</resultCode>
<resultText>OK</resultText>
<sessionId>60698PLA1354274623024</sessionId>
<sessionState>OPEN</sessionState>
</res>
我正在尝试使用 java 提取 sessionState(以及稍后的 sessionId)
我试过以下正则表达式:
"object containing http response".matches("\<sessionState\>.*\</sessionState\>")
但我从来没有得到匹配。我认为问题在于我在多行中得到 http 响应(我尝试添加 \n\s 但没有运气)。
任何帮助表示赞赏,谢谢。
这是我使用推荐的正则表达式得到的输出:
DEBUG [1] ReplaceTags STEP for text: '"{=var.code}".matches("\\<sessionState \\>.*\\</sessionState\\>")' is: '"<res>\r\n <resultCode>100</resultCode>\r\n <resultText>OK</resultText>\r\n <sessionId>60698PLA1354274623024</sessionId>\r\n <sessionState>OPEN</sessionState>\r\n</res>'
DEBUG Executing code: "<res>\r\n <resultCode>100</resultCode>\r\n <resultText>OK</resultText>\r\n <sessionId>60698PLA1354274623024</sessionId>\r\n <sessionState>OPEN</sessionState>\r\n</res>".matches("\\<sessionState\\>.*\\</sessionState\\>")
DEBUG Compiling code:
public class EvalFunction105qhjmhjn3 {
public String eval() {
return "" + "<res>\r\n <resultCode>100</resultCode>\r\n <resultText>OK</resultText>\r\n <sessionId>60698PLA1354274623024</sessionId>\r\n <sessionState>OPEN</sessionState>\r\n</res>".matches("\\<sessionState\\>.*\\</sessionState\\>");
}
}
DEBUG Eval execution returned result: 'false'