Similar to Java. Use re.error exception:
import re
try:
re.compile('[')
is_valid = True
except re.error:
is_valid = False
exception
re.errorException raised when a string passed to one of the functions here is
not a valid regular expression (for example, it might contain
unmatched parentheses) or when some other error occurs during
compilation or matching. It is never an error if a string contains no
match for a pattern.