import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
public static void main(String[] args) {
final String regex = "(\".*?\"|(?<=:)[^\"][0-9]*[^\"\\{\\}\\[\\],])|[\\{\\}:\\[\\],]";
final String string = "[\n"
+ " {\n"
+ " \"JourneyCode\": \"TXT123AP3CL700036\",\n"
+ " \"CONDITION\": \"Running Late\",\n"
+ " \"earliestarrivalDate\": \"2017-09-01T14:03:00.001Z\",\n"
+ " \"allowedconcessions\": [\n"
+ " {\n"
+ " \"concessionname\": \"free champagne\",\n"
+ " \"concessioncode\": \"Bolli-911\",\n"
+ " \"activationState\": \"corkpopped\",\n"
+ " \"expirydate\": \"2016-09-01T09:12:33.001Z\"\n"
+ " }\n"
+ " ],\n"
+ " \"passenger\": {\n"
+ " \"email\": \"user@example.com\",\n"
+ " \"firstName\": \"John\",\n"
+ " \"surname\": \"Doe\",\n"
+ " \"phone\": 1234567890,\n"
+ " \"language\": \"en-GB\",\n"
+ " \"adress\": {\n"
+ " \"street1\": \"10 Rue Morgue\",\n"
+ " \"street2\": \"string\",\n"
+ " \"street3\": \"string\",\n"
+ " \"countyOrState\": \"Champagne\",\n"
+ " \"city\": \"Epernay\",\n"
+ " \"zip\": 123456,\n"
+ " \"country\": \"France\"\n"
+ " }\n"
+ " },\n"
+ " \"ticket\": {\n"
+ " \"Number\":\"StarGla2Ber9ffh46438\",\n"
+ " \"JourneyCode\": \"TXT123AP3CL700036\",\n"
+ " \"class\": \"premium\",\n"
+ " \"subclass\": \"HandleWithCare\",\n"
+ " \"franchise\": \"Eurostar\",\n"
+ " }\n"
+ " }\n"
+ "]\n\n";
final Pattern pattern = Pattern.compile(regex);
final Matcher matcher = pattern.matcher(string);
while (matcher.find()) {
System.out.println("Full match: " + matcher.group(0));
for (int i = 1; i <= matcher.groupCount(); i++) {
System.out.println("Group " + i + ": " + matcher.group(i));
}
}
}
}
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for Java, please visit: https://docs.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html