WORD_REGEX = re.compile('(?!<?\\S+>)(?=\\w)(\\S+)')
CLEAN_REGEX = re.compile('([^a-zA-Z])')

def cleaned(match_obj):
    return re.sub(CLEAN_REGEX, '', match_obj.group(1)).lower()
[cleaned(x) for x in re.finditer(WORD_REGEX, s)]
Регулярное выражение для пропуска некоторых определенных символов