Ответ 1
Аналогично Java. Используйте re.error
исключение:
import re
try:
re.compile('[')
is_valid = True
except re.error:
is_valid = False
исключение
re.error
Исключение, возникшее, когда строка, переданная в одну из функций здесь, не является допустимым регулярным выражением (например, оно может содержать несогласованные скобки) или когда возникает другая ошибка во время компиляция или сопоставление. Это никогда не является ошибкой, если строка не содержит соответствие шаблону.