Sono nuovo nell'espressione regolare. Il mio input è una stringa con una virgola. Ho bisogno di convalidare ogni sottostringa lunghezza è 3 che è diviso da virgola. esempio: "em1, erg, 123, enc" Qui la lunghezza delle stringhe è 3, quindi è valida. Se "em1, erg, 123, ency", dovrebbe essere non valido. Come convalidare nell'espressione regolare senza altri codici?
risposte:
5 per risposta № 1Puoi usare la seguente espressione regolare:
^(?:[^,]{3},)*[^,]{3}$
Consiste delle seguenti parti:
^
- inizio della stringa[^,]{3}
- esattamente tre caratteri che non sono una virgola,
- una virgola(?: ... )*
- il primo avvolto in un gruppo (non catturante) seguito da a*
, che consente di ripetere il pattern contenuto (zero o più volte).[^,]{3}
- esattamente tre caratteri che non sono una virgola. Questo è necessario per abbinare gli ultimi tre caratteri (che non hanno una virgola alla fine)$
- fine della stringa