Frage

Ich habe einen PCRE-Format regulären Ausdruck:    <a\s*href=\"([^<]*)\"([^<]*)\((.*?)\)\">

, aber ich kann es nicht in QT verwenden, wie kann ich wandelt es in QRegExp Format, um es in QT zu arbeiten.

Danke

War es hilfreich?

Lösung

Haben Sie versucht, die Dokumentation lesen? Insbesondere der Abschnitt „Hinweise für Perl-Benutzer“? Es scheint, dass dies sollte ziemlich einfach sein:

QRegExp regex( "<a\\s*href=\\"([^<]*)\\"([^<]*)\\((.*?)\\)\\">", 
    Qt::CaseSensitive, QRegExp:: RegExp2 );

Beachten Sie, dass alles, was ich tat, war doppelt auf die Schrägstriche, da C wird „essen“ ein, wenn Sie den Code zu interpretieren. Aber ich habe meine Zweifel, dass Sie die Anführungszeichen doppelt backslashed wollen, also vielleicht ist das mehr wie das, was man wollte:

QRegExp regex( "<a\\s*href=\"([^<]*)\"([^<]*)\\((.*?)\\)\">", 
    Qt::CaseSensitive, QRegExp:: RegExp2 );

Ich weiß auch nicht, warum Sie in den Ausdruck 3 Anführungszeichen entsprechen versuchen, aber das sprengt den Rahmen dessen, was Sie gefragt haben.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top