Jak nie zachłanna wielozadaniowość

Source:    <prefix><content1><suffix1><prefix><content2><suffix2>
Engine:    PCRE

RegEx1:    (?<=<prefix>)(.*)(?=<suffix1>)
RegEx2:    (?<=<prefix>)(.*)(?=<suffix2>)

Result1:   <content1>
Result2:   <content1><suffix1><prefix><content2>

Pożądany wynik dla RegEx2 jest po prostu <content2>, ale jest oczywiście chciwy. Jak sprawić, aby RegEx2 nie był chciwy i używał tylko pasującego do niego ostatniego wyszukiwania?

[Mam nadzieję, że przetłumaczyłem to poprawnie ze składni NoteTab. Nie robię zbyt wiele kodowania RegEx. Terminy <prefix>, <content> i <suffix> mają na celu reprezentowanie dowolnych łańcuchów. Znaczące jest tylko „<” w poleceniu „? <=” Lookbehind.]

Podejrzewam, że to coś prostego, ale po zbyt wielu godzinach poszukiwań rezygnuję z samodzielnego rozwiązania.

Dzięki za pomoc

Sztuka

questionAnswers(3)

yourAnswerToTheQuestion