pgoetz: RegEx in Java

Beitrag lesen

Servus,

[...]
Aber dein Code macht nicht, dass es 4 Paare sein müssen, er findet SAHH auch wenns nur 3 Paare sind, es müssen aber zwingend 4 sein...
Ich dachte die Klammer {4} sollte das erledigen...

Ich denke, das liegt daran, dass die Einschränkung nur auf dem letzten Element liegt, also "[element 1] oder [element 2] oder [element 3] oder [element 4] oder ... oder vier Mal [letztes element der Liste]".
Brauchst Du das unbedingt als lookbehind? Wenn nicht, dann könntest Du auch mit folgender Regex arbeiten:
.*(99|T1|M2|M4|S2|S4|L2|G2|O6|Z6|O7|T5|M5|M3|P4|Q6|Q7|P9|T1|A8|F4){4}([A-Za-z0-9_]*)

Dann ist Deine Zweierpärchenveroderung als capturing group definiert mit exakt vier Vorkommen, irgendwas davor und eine zweite Capturing group danach. Dabei muss dann aber auch die group mit der Nummer 2 abgefragt werden.

Schöne Grüße,

Peter