import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
public static void main(String[] args) {
final String regex = "(\\[|)\\{\\n(?<tab> )\"id\": \"[0-9]*\",\\n\\<tab>\"type\": [0-9],\\n\\<tab>\"content\": \"[^\"]*\",\\n\\<tab>\"channel_id\": \"[0-9]*\",\\n\\<tab>\"author\": \\{\\n(?<dtab> )\"id\": \"[^\"]*\",\\n\\<dtab>\"username\": \"[^\"]*\",\\n\\<dtab>\"avatar\": \"[^\"]*\",\\n\\<dtab>\"discriminator\": \"([0-9]{4}|[0-9])\",\\n\\<dtab>\"public_flags\": [0-9]*,\\n\\<dtab>\"flags\": [0-9]*,\\n\\<dtab>\"banner\": (null|\"[0-9]*\"),\\n\\<dtab>\"accent_color\": (null|\"[^\"]*\"),\\n\\<dtab>\"global_name\": \"[^\"]*\",\\n\\<dtab>\"avatar_decoration_data\": (null|\"[^\"]*\"),\\n\\<dtab>\"banner_color\": (null|\"[^\"]*\")\\n\\<tab>\\},\\n\\<tab>\"attachments\": \\[[^\\]]*\\],\\n\\<tab>\"embeds\": \\[[^\\]]*],\\n\\<tab>\"mentions\": \\[[^\\]]*],\\n\\<tab>\"mention_roles\": \\[[^\\]]*\\],\\n\\<tab>\"pinned\": (true:|false),\\n\\<tab>\"mention_everyone\": (true|false),\\n\\<tab>\"tts\": (true:|false),\\n\\<tab>\"timestamp\": \"[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{6}\\+[0-9]{2}:[0-9]{2}\",\\n\\<tab>\"edited_timestamp\": (null|\"[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{6}\\+[0-9]{2}:[0-9]{2}\"),\\n\\<tab>\"flags\": [0-9]*,\\n\\<tab>\"components\": \\[[^\\]]*]\\n\\}(\\]|\\,|)";
final String string = "{\n"
+ " \"id\": \"1145344233713188874\",\n"
+ " \"type\": 0,\n"
+ " \"content\": \"913 - this icecream good\",\n"
+ " \"channel_id\": \"1124414874454339715\",\n"
+ " \"author\": {\n"
+ " \"id\": \"746383273621717104\",\n"
+ " \"username\": \"kalote.\",\n"
+ " \"avatar\": \"95b9bdc7aa5784a2354e2ec5256ae736\",\n"
+ " \"discriminator\": \"0\",\n"
+ " \"public_flags\": 128,\n"
+ " \"flags\": 128,\n"
+ " \"banner\": null,\n"
+ " \"accent_color\": null,\n"
+ " \"global_name\": \"Carrot :3\",\n"
+ " \"avatar_decoration_data\": null,\n"
+ " \"banner_color\": null\n"
+ " },\n"
+ " \"attachments\": [],\n"
+ " \"embeds\": [],\n"
+ " \"mentions\": [],\n"
+ " \"mention_roles\": [],\n"
+ " \"pinned\": false,\n"
+ " \"mention_everyone\": false,\n"
+ " \"tts\": false,\n"
+ " \"timestamp\": \"2023-08-27T13:09:04.784000+00:00\",\n"
+ " \"edited_timestamp\": null,\n"
+ " \"flags\": 0,\n"
+ " \"components\": []\n"
+ "},";
final Pattern pattern = Pattern.compile(regex, Pattern.CASE_INSENSITIVE | 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