Regex für Komma, gefolgt von Leerzeichen oder nur Komma

7

ist es möglich, eine Regex mit mehreren Trennzeichen zu machen? Zum Beispiel möchte ich eine Zeichenfolge teilen, die in zwei Formen kommen kann: 1. "string1, string2, string3" oder 2. "string1, string2, string3". Ich habe versucht, dies in Javascript zu tun, aber bisher ohne Erfolg.

    
DVM 11.09.2012, 11:24
quelle

3 Antworten

21

Benutze einfach eine Regex split() :

%Vor%

JS Fiddle-Demo .

Der Grund, warum ich * anstatt ? verwendet habe, ist einfach, weil es keinen Leerraum oder viele Leerräume erlaubt. Während ? mit Null-oder-Eins-Leerraum übereinstimmt (was genau das ist, was Sie gefragt haben, aber trotzdem).

Wenn übrigens möglicherweise weiße Leerzeichen vor dem Komma stehen, dann könnte es sich lohnen, den split() regex zu ändern:

%Vor%

JS Fiddle-Demo .

Dies teilt die angegebene Zeichenfolge in null oder mehr Leerzeichen auf, gefolgt von einem Komma gefolgt von null oder mehr Leerzeichen. Dies ist natürlich völlig unnötig.

Referenzen:

David Thomas 11.09.2012, 11:26
quelle
5

Ja, machen Sie das Leerzeichen ( \s ) optional mit ? :

%Vor%     
João Silva 11.09.2012 11:26
quelle
1

Zusätzlich zu silva

Nur für den Fall, dass Sie Zweifel haben, dass es mehr als ein Leerzeichen haben kann, verwenden Sie (oder kein Leerzeichen)

%Vor%     
Solow Developer 11.09.2012 11:29
quelle

Tags und Links