Ciao a tutti,
vi scrivo perchè mi sto cimentando nell'imparare l'uso delle espressioni regolari ma a questo punto mi serve una mano
Sto scrivendo una classica espressione di verifica di un indirizzo email

codice:
^([a-zA-Z0-9_\.-]+)(@)([a-zA-Z0-9_\.-]+)(\.)([a-zA-Z]{2,4})$
funziona anche bene, se non fosse che a questo punto accetta anche indirizzi come

123456@gmail.com
info@12345.com
-_-@-_-.com

per cui vorrei indicargli che sia nel blocco 1 che nel blocco 3 ci deve essere ALMENO una lettera maiuscola o minuscola. Come faccio? Ho già provato con una cosa tipo


codice:
^([a-zA-Z]+[0-9_\.-]*)(@)([a-zA-Z]+[0-9_\.-]*)(\.)([a-zA-Z]{2,4})$
in cui divido i blocchi 1 e 3 in due parti e a quello con le lettere metto un + e all'altro un * ma non funziona perchè comunque li prende in ordine.
Non mi interessa una funzione per validare una mail, sto solo cercando di imparare e vorrei capire come fare a inserire in questa espressione

codice:
^([a-zA-Z0-9_\.-]+)(@)([a-zA-Z0-9_\.-]+)(\.)([a-zA-Z]{2,4})$
un comando che indichi, appunto che nei blocchi uno e tre ci deve essere ALMENO una lettera maiuscola o minuscola
Grazie a tutti