Romero: search() mit mehreren Bedingungen

Beitrag lesen

Hy ihr da :)

ich bräuchte hier diesbezüglich nochmal eure Hilfe.
Gerade wegen den Zeichen in den regulären Ausdrücken.

Mein Beispiel sieht simpel gesprochen wie folgt aus:

1. A_B_C_D => kann aber auch wie folgt aussehen:
2. A_B_C
3. A_B_C_D_E

Meine Suchabfrage lautet da wie folgt:

Suchabfrage = new RegExp("(^" + A + "(" + B1 + "|" + B2 + "(" + C1 + "|" + C2 + "(" + D1 + "|" + D2 + "|" + D3 + "(" + E + ")" + ")" + ")" + ")" + ")" );
Wobei D1-D3 und E alternativ dazukommen könnten.

Die auszulesende Zeile sieht wir folgt aus:

1. A_B1_C1
2. A_B2_C1_D2
3. A_B1_C2_D1_E
4. eventuelle weitere Kombinationen möglich.

Meine Abfrage sieht so aus:

var Ergebnis = auszulesene_Zeile.match(Suchabfrage)
alert(auszulesende_Zeile + " -- " + Ergebnis)

Das Problem was ich nun habe, dass er einige Kombinationen auslässt. Denn so wie ich es verstanden habe, geht er ja wie folgt durch:
A + B1 + C1 + D1 + E
A + B1 + C1 + D2 + E
A + B1 + C1 + D3 + E
A + B1 + C2 + D1 + E
A + B1 + C2 + D2 + E
...
A + B2 + C2 + D3 + E

so lange, bis die Suchabfrage mit der auszulesenden Zeile zu 100% übereinstimmt, oder?

Ich habe festgestellt, dass er, wenn die Alternativen innerhalb der Klammern drin sind, nur den letzten Eintrag nimmt. Wie kann ich das umgehen, dass er sowohl die erste als auch die weiteren Alternativen nimmt?

Bin da ziemlich ratlos. Felix hat einen wunderbaren Anfang gemacht. Aber nun kommt da Erweiterungen hinzu, also das A-C immer fix sind, da ich mind. "3 Stellen habe", die überprüft werden müssen, und die anderen 2 nachstehenden alternativ dazukommen könnten.

Hoffe auch diesmal, ihr könnt mir folgen.
Bräuchte da dringend eure Hilfe.

LG Romero