You can always try it and see if any escape sequences get left behind. I agree that just "assuming" that this is how a VT100 escape sequence is always represented is a bad idea, but until you find authoritative information to tell you otherwise, it's pretty easy to write some code to strip what you do have out. You've very nearly stated your requirements:
- A literal \033 (or \e in Perl)
- A literal bracket [ (I added this)
- One or more (digits, commas, spaces)
- A letter
Pitting this against perlre, we can construct this:
/\e # ESC
\[ # [
[\d,\s] # one of: digit, comma, whitespace
+ # at least 1
[A-Z] # letters from A-Z
/ix # case-insensitive
# or:
/\e\[[\d,\s]+[A-Z]/i
Put that in the left-hand-side of a substitution operator and you have yourself a functional escape code stripper.