def fits_pattern(string):
    if 4 <= len(string) <= 25 and '--' not in string and not string.startswith(
        '-') and not string.endswith('-'):
        return re.match('[a-zA-Z0-9\\-]', string)
Регулярное выражение для [a-zA-Z0-9\-] с тире, разрешенным между ними, но не в начале или конце