Domanda
Ho un'espressione regolare in formato PCRE:
<a\s*href=\"([^<]*)\"([^<]*)\((.*?)\)\">
ma non posso usarlo in QT, come posso convertilo nel formato QRegexp per farlo funzionare in QT.
Grazie
Soluzione
Hai provato leggere la documentazione ? In particolare la sezione chiamata & Quot; Note per gli utenti Perl & Quot ;? Sembra che questo dovrebbe essere piuttosto semplice:
QRegExp regex( "<a\\s*href=\\"([^<]*)\\"([^<]*)\\((.*?)\\)\\">",
Qt::CaseSensitive, QRegExp:: RegExp2 );
Nota che tutto ciò che ho fatto è stato raddoppiare le barre rovesciate, poiché C <<>> quot; mangia " uno quando si interpreta il codice. Tuttavia, ho i miei dubbi sul fatto che tu abbia voluto che le virgolette venissero ripetute, quindi forse questo è più simile a quello che volevi:
QRegExp regex( "<a\\s*href=\"([^<]*)\"([^<]*)\\((.*?)\\)\">",
Qt::CaseSensitive, QRegExp:: RegExp2 );
Inoltre non so perché stai cercando di abbinare 3 virgolette nell'espressione, ma questo va oltre lo scopo di quello che hai chiesto.