Pattern p = Pattern.compile("([^=]+)=(.*)\\((\\w+),(\\w+)\\)"); HashMap parms = new HashMap(); if (event.getParms() != null) { String[] parmStrings = event.getParms().split(";"); for (String parmString : parmStrings) { Matcher m = p.matcher(parmString); if (!m.matches()) { log("Could not match event parameter string element '" + parmString + "' in event ID " + event.getId()); continue; } parms.put(m.group(1), m.group(2)); } }