Einzelnen Beitrag anzeigen

liftoff

Registriert seit: 6. Jun 2012
Ort: Frankfurt am Main
11 Beiträge
 
Delphi XE Enterprise
 
#1

TPerlRegEx - stack overflow

  Alt 12. Jun 2012, 17:21
Hallo zusammen.

Da dies mein erstes Posting hier ist, zunächst mal eine ganz kurze Vorstellung.

Ich bin 44 Jahre alt, männlich und Programmierknecht.

Zur Zeit stelle ich eine über Jahre gewachsene Klassenbibliothek zur Verarbeitung von Swiftnachrichten von Delphi 2007 nach XE um.
Hier hatte ich einige erhellenden Momente im Zusammenhang mit Unicode, welche ich aber soweit in den Griff bekommen habe.
Nur die TPerlRegEx-Klasse macht mir da im Moment noch Probleme. Zuvor habe ich den selben pcre-Unterbau von pcre.org mit einem anderen Wrapper verwendet. Also:

Folgender String
{4:
:16R:XYZ
:20C:ABC
usw. mit insgesamt 482 Zeilen. Am Ende dann:
-}

Matchen soll sich das mit

({4:\r\n(?:[^\r\n]*\r\n)*-})

Der Teil-Ausdruck (?:[^\r\n]*\r\n)* führt zu einem stack overflow. Finde ich bei lümmeligen 482 Zeile etwas merkwürdig.
Mit PCRE 5.x hat das auch jahrelang wunderbar geklappt.

Jemand dazu eine Idee? Vielleicht auch, wie man die Stacksize erhöhen könnte?

Vielen Dank und viele Grüße
  Mit Zitat antworten Zitat