QRegExp für die Suche nach einem Ausdruck mit Ausschluss



  • Hallo,

    Ich habe ein Problem mit Regulären Ausdrücken. Ich habe die beiden folgenden Strings in einer QStringList:
    "insert into keyence(rtdb, value) VALUES (123241234, 0.0234);"
    "insert into Demobauteil.keyence(rtdb, value) VALUES (123241234, 0.0234);"

    Ich möchte nun mittels QStringList.replaceInString auf einen Schlag alle Strings in meiner List folgendermassen ersetzen lassen:
    - Ersetze alle "insert into " auf die ein string folgt auf den ein "." folgt gegen "KonkretesBauteil"
    - Ersetze die strings nicht wenn nach "insert into " ein string folgt ohne einen "." und gleich nach dem string eine Klammer geöffnet wird

    Das Ergebnis sollte also folgendes sein:
    "insert into keyence(rtdb, value) VALUES (123241234, 0.0234);"
    "insert into KonkretesBauteil.keyence(rtdb, value) VALUES (123241234, 0.0234);"

    Wenn ich den QRegExp "(insert into (.*)?\.)" verwende kommt folgendes raus:
    "insert into KonkretesBauteil.0234);"
    "insert into KonkretesBauteil.0234);"

    Ich habe noch, über den Daumen gepeilt, 1000 weitere Versuche gemacht. Ich bekomme auch andere Ergebnisse, die sind aber genauso falsch. Kann mir einer von euch helfen. Ich müsste wissen wie man eine Suche nach einem String druchführt der mit einem bestimmten Zeichen endet und auf den auf keinen Fall ein bestimmtes Zeichen folgen kann.

    Danke im Vorraus,
    flambert



  • Dieser Thread wurde von Moderator/in SeppJ aus dem Forum C++ (auch C++0x und C++11) in das Forum Andere GUIs - Qt, GTK+, wxWidgets verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



  • Such mal in der QRegExp-Doku nach lookahead.


Anmelden zum Antworten