import re
regex = re.compile(r"(\\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))")
test_str = ("\\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")
matches = regex.finditer(test_str)
for match_num, match in enumerate(matches, start=1):
print(f"Match {match_num} was found at {match.start()}-{match.end()}: {match.group()}")
for group_num, group in enumerate(match.groups(), start=1):
print(f"Group {group_num} found at {match.start(group_num)}-{match.end(group_num)}: {group}")
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 Python, please visit: https://docs.python.org/3/library/re.html