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

È stato utile?

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.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top