/* package whatever; // don't place package name! */
import java.util.*;
import java.lang.*;
import java.io.*;
import java.util.regex.Pattern;
import java.util.regex.Matcher;
/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
{
String text
= "appName=XXX clientIp=X.X.X timestamp=\"2017-06-05T13:22:12-07:00\" request=\"POST /forward HTTP/1.1\" statusCode=204 bytesOut=1167 totalTime=0.062 bytesIn=1289 sourceHost=XXXX connId=49936598 connReqs=9 upInstance=XXX:104:XXX-XXX:8664:17F34 upConnectSec=0.052 upAddr=\"XX.XX.XX:123\" upHost=\"vcv08it-cvcv2801:8464\" upHdrTimeSec=0.058 upRespTimeSec=0.058 pid=32561 upStatusCode=204 message=\"Access Log\" corrKey=GMIFCDIKRZR2T4VZQXJA2IT6 upCached=- length=0 partition=XXX location=\"= /v1/tXXXX\" xff=\"XX.XX.XX.XX\" referer=\"-\" user-agent=\"Apache-HttpAsyncClient/4.1.1 (Java/1.8.0_131)\\\" rateLimitCurrentValues=\"--\" rateLimitTimeMs=\\\"-:-\""; Pattern pattern = Pattern.compile("([\\w-]+?)=(\".*?\"|\\S+)");
Matcher m = pattern.matcher(text);
while (m.find()) {
System.
out.
println(String.
format("key: %s - value: %s", key, value
)); }
}
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CmltcG9ydCBqYXZhLnV0aWwucmVnZXguUGF0dGVybjsKaW1wb3J0IGphdmEudXRpbC5yZWdleC5NYXRjaGVyOwoKCi8qIE5hbWUgb2YgdGhlIGNsYXNzIGhhcyB0byBiZSAiTWFpbiIgb25seSBpZiB0aGUgY2xhc3MgaXMgcHVibGljLiAqLwpjbGFzcyBJZGVvbmUKewoJcHVibGljIHN0YXRpYyB2b2lkIG1haW4gKFN0cmluZ1tdIGFyZ3MpIHRocm93cyBqYXZhLmxhbmcuRXhjZXB0aW9uCgl7CgkJU3RyaW5nIHRleHQgPSAiYXBwTmFtZT1YWFggY2xpZW50SXA9WC5YLlggdGltZXN0YW1wPVwiMjAxNy0wNi0wNVQxMzoyMjoxMi0wNzowMFwiIHJlcXVlc3Q9XCJQT1NUIC9mb3J3YXJkIEhUVFAvMS4xXCIgc3RhdHVzQ29kZT0yMDQgYnl0ZXNPdXQ9MTE2NyB0b3RhbFRpbWU9MC4wNjIgYnl0ZXNJbj0xMjg5IHNvdXJjZUhvc3Q9WFhYWCBjb25uSWQ9NDk5MzY1OTggY29ublJlcXM9OSB1cEluc3RhbmNlPVhYWDoxMDQ6WFhYLVhYWDo4NjY0OjE3RjM0IHVwQ29ubmVjdFNlYz0wLjA1MiB1cEFkZHI9XCJYWC5YWC5YWDoxMjNcIiB1cEhvc3Q9XCJ2Y3YwOGl0LWN2Y3YyODAxOjg0NjRcIiB1cEhkclRpbWVTZWM9MC4wNTggdXBSZXNwVGltZVNlYz0wLjA1OCBwaWQ9MzI1NjEgIHVwU3RhdHVzQ29kZT0yMDQgbWVzc2FnZT1cIkFjY2VzcyBMb2dcIiBjb3JyS2V5PUdNSUZDRElLUlpSMlQ0VlpRWEpBMklUNiB1cENhY2hlZD0tIGxlbmd0aD0wIHBhcnRpdGlvbj1YWFggbG9jYXRpb249XCI9IC92MS90WFhYWFwiIHhmZj1cIlhYLlhYLlhYLlhYXCIgcmVmZXJlcj1cIi1cIiB1c2VyLWFnZW50PVwiQXBhY2hlLUh0dHBBc3luY0NsaWVudC80LjEuMSAoSmF2YS8xLjguMF8xMzEpXFxcIiByYXRlTGltaXRDdXJyZW50VmFsdWVzPVwiLS1cIiByYXRlTGltaXRUaW1lTXM9XFxcIi06LVwiIjsKCQlQYXR0ZXJuIHBhdHRlcm4gPSBQYXR0ZXJuLmNvbXBpbGUoIihbXFx3LV0rPyk9KFwiLio/XCJ8XFxTKykiKTsKCQlNYXRjaGVyIG0gPSBwYXR0ZXJuLm1hdGNoZXIodGV4dCk7CgkJCgkJd2hpbGUgKG0uZmluZCgpKSB7CgkJCVN0cmluZyBrZXkgPSBtLmdyb3VwKDEpOwoJCQlTdHJpbmcgdmFsdWUgPSBtLmdyb3VwKDIpOwoJCSAgICBTeXN0ZW0ub3V0LnByaW50bG4oU3RyaW5nLmZvcm1hdCgia2V5OiAlcyAtIHZhbHVlOiAlcyIsIGtleSwgdmFsdWUpKTsKCQl9Cgl9Cn0=