import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
public static void main(String[] args) {
final String regex = "(\\\\u001b)(8|7|H|>|\\[(\\?\\d+(h|l)|[0-2]?(K|J)|\\d*(A|B|C|D\\D|E|F|G|g|i|m|n|S|s|T|u)|1000D\\d+|\\d*;\\d*(f|H|r|m)|\\d+;\\d+;\\d+m))";
final String string = "\\u001b7 \\u001b8 \\u001bH \\u001b>\n\n"
+ "\\u001b[K \\u001b[0K \\u001b[J \\u001b[2J \n"
+ "\\u001b[10A \\u001b[10B \\u001b[10C \\u001b[10D \\u001b[10E \\u001b[10F\n"
+ "\\u001b[10S \\u001b[10T \\u001b[10G \\u001b[8C \\u001b[s \\u001b[u \\u001b[1000D22\n"
+ "\\u001b[999;999H \\u001b[1;1H \\u001b[1;1f \\u001b[1;24r\n\n"
+ "\\u001b[6n \\u001b[5i \\u001b[4i \\u001b[3g\n\n"
+ "\\u001b[?7h \\u001b[?25h \\u001b[?25l \n\n"
+ "\\u001b[0m\n"
+ "\\u001b[31m \\u001b[41m\n"
+ "\\u001b[1m \\u001b[4m \\u001b[5m \\u001b[7m \\u001b[8m\n"
+ "\\u001b[31;1m \\u001b[41;1m\n"
+ "\\u001b[38;5;255m \\u001b[48;5;255m";
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