2016-04-26 3 views

Antwort

1

Sie diese Regex verwenden können Sie Ihre Eingabe von Buchstaben A-L durch Komma getrennt zu überprüfen:

/^[A-L](?:\s*,\s*[A-L])*$/ 

RegEx Demo

Breakup:

^   # line start 
[A-L]  # match letters [A-L] 
(?:  # start non-capturing group 
    \s*  # match 0 or more white-spaces 
    ,  # match a comma 
    \s*  # match 0 or more white-spaces 
    [A-L] # match letters [A-L] 
)*   # end non-capturing group, * makes this group match 0 or more times 
$   # line end 
+1

Ich testete dies und es funktioniert so gut wie die, die ich gerade schrieb, danke! –

0

ich meine eigene Frage eigentlich diese kurz nach der Einlieferung beantwortet. Der folgende Regex funktioniert:

Ermöglicht nur ein Zeichen pro Element, Großbuchstaben, Leerzeichen optional, kein Ende Komma

Danke für alle anderen Antworten, ich bin sicher, es gibt viele Möglichkeiten, dies zu erreichen.

regex tester

+0

Ich habe nicht downvote, aber es validiert 'ABCD' aa eine gültige Eingabe. – anubhava

+1

Sie sind richtig. Die Antwort, die Sie gepostet haben, ist korrekt. Ich werde als Antwort –

0

Warum geben Sie auf Array-Manipulationen nach oben? Sie könnten sehr elegant sein.

'A, G, F'.split(', ').every(x => x.length === 1 && x >= 'A' && x <= 'L') 
+0

markieren Sie haben mich dafür downvoted? Du hättest meine Frage einfach beantworten können, ich hätte nach Regex gefragt. –

+0

Natürlich, nein. Aber ich kann Sie stattdessen aufrüsten. –

Verwandte Themen