Hi,
Ich habe einen Text. Ich möchte mit Regulären Ausdrücken gucken, wie dieser Text lautet und je nach Übereinstimmung eine andere Aktion ausführen.
Der ich für jede Möglichkeit auch einen anderen Regex testen muss, kommt eine switch-Anweisung nicht in Frage, und ich bin kein Freund von langen elseif Anweisungen.
Du könntest die zu testenden Suchmuster in einem Array ablegen, und dieses in einer Schleife durchlaufen. Sobald du einen "Treffer" hast, kannst du aus der Schleife aussteigen, und anhand des aktuellen Zählerstandes entscheiden, welche Aktion auszuführen ist.
Wie kann ich das Problem ohne elseif lösen (garnicht ist auch eine Antwort).
Die Entscheidung, welche Aktion auszuführen ist, wird dann aber auch wieder auf etwas switch-artiges hinauslaufen - aber das ist dann an der Stelle ja nichts "schlimmes", sondern eben eine ganz normale Fallunterscheidung.
(Man könnte es zwar ggf. auch über Callback-Funktionen machen, deren Namen man zusammen mit den Suchmustern im Array ablegt - aber ob sich der "Aufwand" lohnt, wäre erst mal fraglich.)
MfG ChrisB
Light travels faster than sound - that's why most people appear bright until you hear them speak.