I know that I could do this with a series of for loops that iterate through the string but that would be terrible programming. Well, my professor prefers I don\'t do it this
^(?=.*[a-z])(?=.*[A-Z])(?=.*\d).+$
descriptions are as follow
(?=.*[a-z]) -- check lower case letter
(?=.*[A-Z]) -- check upper case letter
(?=.*\d) -- check one digit exists