Ho una regex che pensavo funzionasse correttamente fino ad ora. Devo abbinare un personaggio opzionale. Potrebbe essere lì o no.
Ecco due stringhe. La stringa superiore è abbinata mentre quella inferiore no. L'assenza di una singola lettera nella stringa inferiore è ciò che la sta facendo fallire.
Vorrei ricevere la lettera singola dopo le 5 cifre iniziali se è presente e, in caso contrario, continuare a ottenere il resto della stringa. Questa lettera può essereA-Z
.
Se rimuovo ([A-Z]{1}) +.*? +
dal regex, corrisponderà a tutto ciò di cui ho bisogno tranne la lettera ma è un po 'importante.
20000 K Q511195DREWBT E00078748521
30000 K601220PLOPOH Z00054878524
Ecco la regex che sto usando.
/^([0-9]{5})+.*? ([A-Z]{1}) +.*? +([A-Z]{1})([0-9]{3})([0-9]{3})([A-Z]{3})([A-Z]{3}) +([A-Z])[0-9]{3}([0-9]{4})([0-9]{2})([0-9]{2})/