Pergunta

Eu tenho uma expressão regular formato PCRE: <a\s*href=\"([^<]*)\"([^<]*)\((.*?)\)\">

Mas eu não posso usá-lo em QT, como posso convertê-lo para o formato QRegExp para que ele funcione em QT.

Graças

Foi útil?

Solução

Você tentou ler a documentação ? Especificamente a seção chamada "Notes para usuários Perl"? Parece que esta deve ser bastante simples:

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

Note-se que tudo o que fiz havia double-up as barras invertidas, uma vez que C vai "comer" um ao interpretar o código. No entanto, tenho minhas dúvidas de que você queria as aspas duplo barra invertida, então talvez este é mais parecido com o que você queria:

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

Eu também não sei por que você está tentando combinar 3 aspas na expressão, mas isso está além do escopo do que você pediu.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top