Ich hab ein Problem. Ich möchte mit Hilfe der QRegExp aus dem QString:
"Test1"=Test2;" zwei Werte herauslesen.
In einer Var "Test1" und in einer zweiten VAR "Test2" schreiben.
Ich bekomme irgendwie nicht die richtige Expression.
Die Line die aus der Datei gelesen wird, soll dann mit der Expression matchen.
Gruß,
Ronny
[gelöst] QRegExp Hilfe
[gelöst] QRegExp Hilfe
Zuletzt geändert von daRonny am 4. März 2009 12:36, insgesamt 3-mal geändert.
QRegExp Hilfe
Code: Alles auswählen
/*
Also, unter der Annahme daß das, was da steht "literal" gemeint ist, d.h. die
exakte Zeichenfolge mit allen Sonderzeichen, würde ich das aus "RegExp"-Sicht
so lesen:
Ein Zeilenanfang, gefolgt von einem Gänsefüsschen, gefolgt von
einer beliebigen Anzahl von Buchstaben und Ziffern, gefolgt von einem
Gänsefüsschen, gefolgt von einem Gleichheitszeichen, gefolgt von einer
beliebigen Anzahl von Buchstaben und Ziffern, gefolgt von einem Semikolon,
gefolgt von einem Gänsefüsschen, gefolgt von einem Zeilenende.
Wenn ich jetzt weiterhin annehme, daß Dich dabei nur jeweils die beiden
Buchstaben- und Ziffernfolgen interessieren, dann würde ich das als
regulären Ausdruck so schreiben:
*/
QString eingabezeile = ""; // Deine Eingabezeile
QRegExp rx ("^\"(\\w+)\"=(\\w+);\"$");
if (rx.indexIn (eingabezeile) != -1)
{
QString erste = rx.cap (1); // 1. Buchstaben- und Ziffernfolge
QString zweite = rx.cap (2); // 2. Buchstaben- und Ziffernfolge
}
/*
Ich habe hierbei willkürlich festgelegt,
- daß keine der beiden Buchstaben- und Ziffernfolgen leer sein darf.
- das die gesamte Zeichenfolge nicht mittendrin, sondern für sich
in einer Zeile vorkommt.
*/