Seite 1 von 1

RegExp und unnötige Begrenzung bei den Quantifiers

Verfasst: 27. Oktober 2007 11:31
von Leffotrak
Hallö,

ich parse in meiner Anwendung größere Textdateien über QRegExp, die gerne schon mal über 100KB groß sind. Klappt alles bestens, mir ist dabei allerdings eine sehr störende Limitation seitens Qt aufgefallen: Quantifiers sind nämlich auf 1024 Zeichen begrenzt.

Beispiel: Suchtext.{1024}
Findet Suchtext und gibt die anschließenden 1024 Zeichen mit zurück, wenn man cap(0) benutzt.
Sucht man hingegen nach Suchtext.{1025} geht nix mehr und der RegExp wird als falsch angesehen - kann man sehr schön im RegExp-Beipspiel nachprüfen, ab 1025 Zeichen wird der RegExp rot gefärbt.

Weiß jemand wieso dieses viel zu kleine Limit existiert und ist das schon immer so gewesen? Benutze die neuste Open Source-Version 4.32 von Qt.

Grüße,
Leffotrak

Verfasst: 27. Oktober 2007 20:51
von upsala
Also, ich finde das Limit ganz schön hoch (falls es wirklich eins sein sollte). Ich würde es trotzdem mal über den Task-Tracker versuchen.

Verfasst: 29. Oktober 2007 16:31
von Leffotrak
Hmm, also ich finde dieses Limit schon recht klein, vor allem bei größeren Dateien und bei normalen RegExps wie <Start-Tag>(.*)</End-Tag> gibt's dieses Limit ja auch nicht.
Danke für den Tip mit dem Task-Tracker, werde da mal was schreiben und vielleicht bingts ja was :)