diff --git a/src/drf_yasg/inspectors/field.py b/src/drf_yasg/inspectors/field.py index 18a185b..a1cc65d 100644 --- a/src/drf_yasg/inspectors/field.py +++ b/src/drf_yasg/inspectors/field.py @@ -262,7 +262,12 @@ def find_regex(regex_field): regex_validator = validator # regex_validator.regex should be a compiled re object... - pattern = getattr(getattr(regex_validator, 'regex', None), 'pattern', None) + try: + pattern = getattr(getattr(regex_validator, 'regex', None), 'pattern', None) + except Exception: # pragma: no cover + logger.warning('failed to compile regex validator of ' + str(regex_field), exc_info=True) + return None + if pattern: # attempt some basic cleanup to remove regex constructs not supported by JavaScript # -- swagger uses javascript-style regexes - see https://github.com/swagger-api/swagger-editor/issues/1601