Suche: JS - RegExp

k3nguruh

Erfahrenes Mitglied
Hallo,

ich habe noch nicht sehr viel Erfahrung in der Materie und habe jetzt schon eine Weile rumprobiert. Komme aber auf keinen grünen Zweig. Vielleicht kann mir einer den passenden RegExp - Code posten.
Das komplette Muster ist BUCHSTABE(N)__ZAHL(EN)__BUCHSTABE(N)

Beispiele:
Code:
SUCCESS
SUCCESS__CANCEL
SUCCESS__2__CANCEL
Ergebnis soll sein:
Code:
Treffer 1: SUCCESS
Treffer 2: CANCEL (oder halt leer - Bei dem 1. Beispiel)
Es soll dabei auch nicht die Gross- und Kleinschreibung beachtet werden

Besten Dank im Voraus
 

Andreas-B

Mitglied
Das Muster das du suchst könnte so aussehen: /^([A-Z]+)__(?:\d+__)?([A-Z]+)$/i

Ich benutze zum Entwickeln von Reguläre Ausdrücken immer regex101: build, test, and debug regex.
Eine solche Seite hilft ungemein dabei, Reguläre Ausdrücke zu Bauen und zu Testen.
Außerdem haben viele dieser Seiten auch code Generatoren, die einem den passenden Code gleich mit generieren.
 

k3nguruh

Erfahrenes Mitglied
Hallo,

erstmal Danke für deine Antwort. Ich benutzte / benutze auch ein Online-Tool.

Jedenfalls hilft mir das schon mal viel weiter.
Leiter wird im Beispielcode das 1. Beispiel nicht gefunden (Link).

Nach etwas basteln habe ich das hinbekommen
Code:
/^([A-Z]+)(?:__(?:\d+__)?([A-Z]+))?$/i
Link

Bekommt man den Treffer 0 auch noch weg?
 

k3nguruh

Erfahrenes Mitglied
Hallo,

jepp, es sollte alles gefunden werden.

Code:
'SUCCESS'            => ['SUCCESS']
'SUCCESS__CANCEL'    => ['SUCCESS', 'CANCEL']
'SUCCESS__2__CANCEL' => ['SUCCESS', 'CANCEL']

meine andere Frage hat sich erledigt. Passt jetzt alles bestens.

Nochmals Danke.