fork download
  1. /* package whatever; // don't place package name! */
  2.  
  3. import java.util.*;
  4. import java.lang.*;
  5. import java.io.*;
  6. import java.util.regex.Pattern;
  7. import java.util.regex.Matcher;
  8.  
  9.  
  10. /* Name of the class has to be "Main" only if the class is public. */
  11. class Ideone
  12. {
  13. public static void main (String[] args) throws java.lang.Exception
  14. {
  15. 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=\\\"-:-\"";
  16. Pattern pattern = Pattern.compile("([\\w-]+?)=(\".*?\"|\\S+)");
  17. Matcher m = pattern.matcher(text);
  18.  
  19. while (m.find()) {
  20. String key = m.group(1);
  21. String value = m.group(2);
  22. System.out.println(String.format("key: %s - value: %s", key, value));
  23. }
  24. }
  25. }
Success #stdin #stdout 0.04s 4386816KB
stdin
Standard input is empty
stdout
key: appName - value: XXX
key: clientIp - value: X.X.X
key: timestamp - value: "2017-06-05T13:22:12-07:00"
key: request - value: "POST /forward HTTP/1.1"
key: statusCode - value: 204
key: bytesOut - value: 1167
key: totalTime - value: 0.062
key: bytesIn - value: 1289
key: sourceHost - value: XXXX
key: connId - value: 49936598
key: connReqs - value: 9
key: upInstance - value: XXX:104:XXX-XXX:8664:17F34
key: upConnectSec - value: 0.052
key: upAddr - value: "XX.XX.XX:123"
key: upHost - value: "vcv08it-cvcv2801:8464"
key: upHdrTimeSec - value: 0.058
key: upRespTimeSec - value: 0.058
key: pid - value: 32561
key: upStatusCode - value: 204
key: message - value: "Access Log"
key: corrKey - value: GMIFCDIKRZR2T4VZQXJA2IT6
key: upCached - value: -
key: length - value: 0
key: partition - value: XXX
key: location - value: "= /v1/tXXXX"
key: xff - value: "XX.XX.XX.XX"
key: referer - value: "-"
key: user-agent - value: "Apache-HttpAsyncClient/4.1.1 (Java/1.8.0_131)\"
key: rateLimitCurrentValues - value: "--"
key: rateLimitTimeMs - value: \"-:-"