import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
public static void main(String[] args) {
final String regex = "[\\w\\d]*?\":\\{\"[\\w]*?\":?\\{\"[\\w]*?\":[0-9\\d]*,\"[\\w]*?\":[0-9\\d]*,\"[\\w]*?\":[0-9\\d]*\\},\"[\\w]*\\\":\\{\"[\\w]*\\\":[0-9\\d]*,\"[\\w]*\\\":[0-9\\d]*,\"[\\w]*\\\":[0-9\\d]*,\"[\\w]*\\\":[0-9\\d]*\\}\\}";
final String string = "2020-11-04 17:14:29,367 : [INFO ] GW-26-C-1 [c.n.s.s.MyKafkaConsumer:19] [GW-26-C-1] : ConsumerRecord(topic = CBBL_GP, partition = 2, leaderEpoch = 20, offset = 4386, CreateTime = 1604488454631, serialized key size = -1, serialized value size = 1139, headers = RecordHeaders(headers = [], isReadOnly = false), key = null, value = {\"clientUserName\":\"usersms@communitybank.com.bd\",\"test\":false,\"clientCbsSmsId\":\"20201104_051123_S179371_22\",\"txnDateTime\":{\"date\":{\"year\":2020,\"month\":11,\"day\":4},\"time\":{\"hour\":17,\"minute\":7,\"second\":22,\"nano\":0}},\"senderId\":\"COMMUNITY_BANK\",\"acctId\":\"0010112519201\",\"creditDebit\":\"C\",\"amount\":30886,\"cellPhone\":\"8801735654457\",\"sendToNumber\":\"8801735654457\",\"message\":\"Community Bank - Your account 001*******201 has been credited with BDT 30886 (SALARY OCTOBER-2020) on 04-Nov-20 05:14:23 PM BST. Your Current Balance is BDT 32057.38. Thank you.\",\"clientRequestDateTime\":{\"date\":{\"year\":2020,\"month\":11,\"day\":4},\"time\":{\"hour\":17,\"minute\":14,\"second\":14,\"nano\":631000000}},\"expiryDateTime\":{\"date\":{\"year\":2020,\"month\":11,\"day\":5},\"time\":{\"hour\":5,\"minute\":14,\"second\":23,\"nano\":0}},\"retryCount\":1,\"valid\":true,\"validateCell\":false,\"defaultSmsLength\":160,\"exceedDefaultSmsLength\":false,\"telcoLocalPrefix\":\"017\",\"telcoName\":\"GP\",\"status\":\"GW_PENDING\",\"isDirty\":false,\"customerNo\":\"0112519\",\"smsFormat\":\"SMS_FORMAT_DEFAULT\",\"unicode\":0,\"includeResend\":false,\"messagetype\":0,\"smsResultList\":[],\"version\":0,\"active\":1,\"tzName\":\"Asia/Dhaka\"})";
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