Tom: Regular Expressions

Beitrag lesen

Hello,

in einem längeren Text befindet sich eine Startsignatur mehrfach und die Abschlusssignatur des gesuchten Bereiches nur einmal.

xxxxxxxxxxxxxxxx
    xxxxxxxxxxxxxSTARTxxxxxxxxxxxxxxx
    xxxSTARTxxxxxxxxxxx
    xxxxxxxxxxxxxxxxxxxxxxxx
    xxxxxxxxxxxxSTARTsssssssssss
    sssssssss
    ssssssssssssssSTOPxxxxxxx
    xxxxxxxxxxxxxxxxxx
    STARTxxxxxxxxxxxxxxxxxx
    xxxxxxxxxxxxxxxxxx

sss wird gesucht.

Wie muss ich das machen, dass ich nur den Bereich vom letzten Vorkommen von START vor STOP bis STOP bekomme?

Ich habe jetzt diverse Versuche mit Greedyness, Assertions usw. durch und komme auf keinen Lösungsweg.

Dabei kann ich die Positionen eindeutig identifiziern, könnte es also mit "Drumherumprogrammierung" auch lösen.
Willst du es jetzt unbedingt mit RegExp machen?

Ja. Wenn es geht, möchte ich gerne wissen, wie.

Hier erschiene mir eine Lösung mit strpos(), strrpos() und substr() nämlich vermutlich viel einfacher.

Wenn Du auf das Muster dort oben anspielst, das ist eben nur ein Muster.
RegExp muss ich sowieso einsetzen. Wie oft die Startsequenz vorkommt weiß ich nicht, was x un s für Zeichen sind, weiß ich auch nicht vorher...

Liebe Grüße aus dem schönen Oberharz

Tom vom Berg

--
Nur selber lernen macht schlau
http://bergpost.annerschbarrich.de