# Matches an ANSI 8-bit color (?-i)\e # An Escape \[ # Followed by a bracket (?> (?38) | (?48) | (?58));5;(?(?> (?[0-7]) # 0 -7 are standard colors m | (?(?>[8-9]|1[0-5])) # 8-15 are bright colors m | (?(?>[0-2][0-3][0-1]|[0-1]\d\d|\d{1,2})) # 16-231 are cubed colors m | (?(?>[0-2][0-5][0-5]|[0-1]\d\d|\d{1,2})) # 232-255 are grayscales m))