I'm trying to match a string of 4 to 8 mixed case letters that contains at least uppercase and at least one lowercase letter. I tried [a-zA-z]{4,8} but that matches strings like abba and CREEEDD which only contain lowercase or uppercase letters. Is this something that can be done in Lex or do I need to do it differently?