EisFuX: (?!unerwuenschte-zeichenkette)

Beitrag lesen

(H[ae]llo|Hi(ho)|Nabend) Tom,

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?

Ist dir preg_match('/\A.+START(.+?)(?=STOP)/s', $content, $_matches) zu einfach?
Das liefert in $_matches[1] den gewünschten Teilstring. Falls dir nicht gefällt, dass
auch noch etwas mehr gefunden wird, nimmst du halt
preg_replace('/\A.+START(.+?)(?=STOP).+\z/s', '$1', $content)

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

preg_match('/(?<=START)(.(?!START))+?(?=STOP)/s', $content, $_matches)
schaut zwar nicht sehr elegant aus, liefert aber das gewünschte Ergebnis.

Dabei kann ich die Positionen eindeutig identifiziern, könnte es also mit "Drumherumprogrammierung" auch lösen.

Warum versuchst du es dann mit Regulären Ausdrücken?
Soll das eine Knobelaufgabe werden? ;-)

MffG
EisFuX