Offenbar ist F nicht ein Record im Sinne von A - E
Eventuell kannst du ihn mit /([^<>])+$/ matchen.
weiß nicht, wie Du das meinst, ...
Du hast angegeben:
$records = "<r>A</r><r>B</r><r>C</r><r>D</r><r>E</r>F";
F ist nicht durch ein <r> Element eingeschlossen.
Ich nehme eine genierende Zeichenklasse
[^<>]+
F darf aus allen Zeichen ausser < und > bestehen.
Aber diese Annahme kann falsch sein, da ich deine Daten nicht kenne.
aber ich habe es jetzt so gemacht:
!(<r>.+</r>)+(.+)$!
du kannst statt ( )+ die nicht speichernde Gruppierung verwenden, (?:)+
!(?:<r>.+</r>)+(.+)$!
Trotzdem hätte ich noch die Frage, ob es nicht auch mit einem Look behind geht, das letzte Vorkommen selbigens zu finden, vielleicht irgend einen Modifier, den ich nicht kenne.
Bei Lookbehind Assertions hast du meist die Beschränkung, dass die Zeichenlänge statisch ist.
!(?<=</r>)+(.+)$!
Wird dir nicht weiterhelfen, weil in
$records = "<r>A</r><r>B</r><r>C</r><r>D</r><r>E</r>F";
"<r>B</r><r>C</r><r>D</r><r>E</r>F"
bereits zutrifft.
!(?<=</r>)+([^<>]+)$!
wird nur "F" holen, ist aber nicht effizienter wie
!(?:<r>.+</r>)+(.+)$!
mfg Beat
><o(((°> ><o(((°>
<°)))o>< ><o(((°>o