/ / Espressione regolare: controlla la lunghezza delle stringhe secondarie separate da virgole - regex

Espressione regolare - controlla la lunghezza delle stringhe separate della virgola - regex

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 № 1

Puoi usare la seguente espressione regolare:

^(?:[^,]{3},)*[^,]{3}$

Immagine di espressione regolare

Modifica live su Debuggex

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