Fehler bei der Verwendung von QRegularExpression
-
Ich verwende bei meinem Projekt wie empfohlen die Klasse QRegularExpression, um Zeichenketten zu erkennen. Es geht dabei um durchaus große Zeichenketten. Um genau zu sein, soll erkannt werden, um welche SQL-Befehle es sich handelt. Diese wurden zuvor von der Software erstellt und ins Internet hochgeladen. Andere Anwender sollen sie sich auf einer Internetseite markieren und über die Zwischenablage in ein Eingabefeld kopieren, über das die Daten dann eingelesen werden können.
Das Verfahren funktionierte bisher auch zufriedenstellend. Nun habe ich jedoch einen Datensatz mit einem beschreibenden Text (HTML komprimiert, kodiert als Hex), der auch ein Bild enthält und über 36 Kilobyte groß ist. Beim Erkennen dieser Struktur über QRegularExpression verabschiedete sich das Programm ohne jede weitere Fehlermeldung.
Meine Vermutung ist, da ja bei dieser neuen Klasse Fundstellen kopiert werden, daß dabei eine Maximalgröße überschritten wurde. Informationen dazu konnte ich nicht finden.
Unter Verwendung der älteren Klasse QRegExp funktioniert die Erkennung des Datensatzes übrigens wie gewünscht. Nun setze ich beide Klassen parallel ein. Auf die Dauer erscheint mir das aber etwas unglücklich zu sein. Eventuell ist es ja möglich, QRegularExpress auch zum Auffinden längerer Zeichenketten fit zu machen.
Mein Projekt ist Opensource und bei Github zu finden. Dazu gibt es auch eine deutschsprachige Quelltextdokumentation (der Link führt direkt zu der Klasse, über die Datensätze erkannt werden).
-
Hi, willkommen im Qt Forum! Wenn du glaubst einen Fehler in
QRegularExpression
gefunden zu haben, dann kannst du ihn hier melden: https://bugreports.qt.io -
Vielen Dank für den Hinweis. Ich habe mir das Procedere angeschaut. Aber nein, das ist mir zuviel Aufwand. Zu mehr, als hier im Forum Bescheid zu sagen, bin ich ehrlich gesagt nicht bereit. :)
Ich habe die Erfahrung gemacht, daß Softwarefehler eher selten Glaubenssache sind. Wenn es sich also um einen echten Fehler handelt (wovon ich ausgehe), so kann ich darauf vertrauen, daß er früher oder später wieder auftreten wird. Und irgendwann findet die Kunde davon vielleicht auch Gehör bei denjenigen, die ihn beseitigen können. Ist nicht meine Baustelle. Ich habe genug damit zu tun, meine eigenen Fehler zu beseitigen. ;)
Was mich angeht, so habe ich ja einen Weg gefunden, den Fehler zu umgehen. Insofern bin ich nicht auf seine Beseitigung angewiesen. Dementsprechend betrachte ich die Sache für mich als erledigt. :)