import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
public static void main(String[] args) {
final String regex = "(((((#)|())(([ \\t\\n]+|()))([a-zA-Z0-9]+)([ \\t\\n]+))|())((([ \\t\\n]+|()))((move|mult)|([a-z]+)))((([ \\t\\n]+|()))(:))((([ \\t\\n]+|()))([a-zA-Z0-9,&\\* \\t\\\"\\n\\[\\]]+))(;))|((([ \\t\\n]+|()))((save|end)|([a-z]+))(([ \\t\\n]+|()))(;))";
final String string = "\n"
+ "{\n"
+ " stream: gogo;\n"
+ " move: some, reg1;\n"
+ " #jix mult: &num, reg2;\n"
+ " push: reg2;\n"
+ " sus : 0x20;\n"
+ " add : him, her;\n"
+ " #goto \n"
+ " jump: loop;\n"
+ " dec : him, *reg2;\n"
+ " #get\n"
+ " add : onu, buna;\n"
+ " jump: goto;\n"
+ " #mydear move: \"moses\", rgb[8]; \n"
+ " save ;\n"
+ " end ;\n"
+ "}\n\n\n"
+ "{\n"
+ " move: mos, reg1;\n"
+ " mult: &num, reg2;\n"
+ " push: reg2;\n"
+ " int : 0x20;\n"
+ " #lab\n"
+ " add : him, her;\n"
+ " jump: loop;\n"
+ " #mos\n"
+ " dec: him, *reg2;\n"
+ " #inst\n"
+ " add: onu, buna;\n"
+ " jump: lab;\n"
+ " save;\n"
+ " end;\n\n"
+ "}\n\n\n\n"
+ "{\n"
+ " inc: moses, to;\n"
+ " #io\n"
+ " push: him;\n"
+ " #kim\n"
+ " jump: frame;\n"
+ "}\n\n\n"
+ " okbro () {\n"
+ " dec: him, beat;\n"
+ " #his\n"
+ " push: him;\n"
+ " jump: main;\n"
+ " ret; }";
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