Правильно ли это записал?
f = re.compile('^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?!.*[^0-9a-zA-Z]).*$')
1. У нас могут быть цифры, больше нуля (?=.*\d)
2. У нас могут быть латиница, больше нуля (?=.*)
3. У нас могут быть латиница, больше нуля (?=.*)
4. У нас не могут быть других символов, кроме цифр и латинских букв.
5. Концовку не понял, зачем там .*
спасибо