import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
public static void main(String[] args) {
final String regex = "(?<=\\\"id\\\"\\:)\\d+(?=\\,)";
final String string = "{\n"
+ " \"id\": 5987431,\n"
+ " \"remoteRef\": \"f150edeab22e5458a8d5db64280023f0\",\n"
+ " \"paymentEntityType\": \"Bank\",\n"
+ " \"accountHolder\": \"Svilen Varbanov\",\n"
+ " \"accountNumber\": \"********6691\",\n"
+ " \"expiresEnd\": null,\n"
+ " \"paymentEntityStatus\": \"Unverified\",\n"
+ " \"token\": null,\n"
+ " \"canDeposit\": false,\n"
+ " \"canWithdraw\": false,\n"
+ " \"lastUsed\": false,\n"
+ " \"cardType\": null,\n"
+ " \"logs\": [\n"
+ " {\n"
+ " \"paymentEntityStatus\": \"Unverified\",\n"
+ " \"message\": \"Bank payment entity has been created.\",\n"
+ " \"updated\": \"2019-10-01 11:49:22Z\"\n"
+ " }\n"
+ " ],\n"
+ " \"transactionSummaries\": null,\n"
+ " \"paymentGateway\": \"RBC\",\n"
+ " \"details\": {\n"
+ " \"bankName\": null,\n"
+ " \"sortCode\": null,\n"
+ " \"swiftCode\": null,\n"
+ " \"branchCode\": null,\n"
+ " \"branchAddress\": null,\n"
+ " \"transitNumber\": \"340\",\n"
+ " \"institutionNumber\": \"34103\",\n"
+ " \"accountId\": \"575876691\"\n"
+ " },\n"
+ " \"createdAt\": \"2019-10-01T11:49:22.4680708Z\"\n"
+ "}";
final Pattern pattern = Pattern.compile(regex, Pattern.MULTILINE);
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