Попробуйте использовать вычитание:
[\w&&[^_]]+
Примечание. Это будет работать на Java, но не может быть в каком-то другом двигателе Regex.
После игры с несколькими вариациями я получил эту работу. Я не уверен на 100%, если это лучший способ сделать это .... но это работает
date_checker = Draft7Validator.TYPE_CHECKER.redefine_many({
"date": lambda _, instance: isinstance(instance, date),
"pos_int": lambda _, instance: isinstance(instance, int) and instance >= 0
})
custom_validator = validators.extend(Draft7Validator, type_checker=date_checker)
validator = custom_validator(schema)
validator.validate(config)