Pregunta

Tengo una expresión regular en formato PCRE:   <a\s*href=\"([^<]*)\"([^<]*)\((.*?)\)\">

pero no puedo usarlo en QT, ¿cómo puedo conviértalo al formato QRegexp para que funcione en QT.

Gracias

¿Fue útil?

Solución

¿Intentó leyendo la documentación ? Específicamente, la sección llamada & Quot; Notas para usuarios de Perl & Quot ;? Parece que esto debería ser bastante sencillo:

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

Tenga en cuenta que todo lo que hice allí fue duplicar las barras diagonales inversas, ya que C " eat " uno al interpretar el código. Sin embargo, tengo mis dudas de que quisieras que las comillas tuvieran una doble barra invertida, así que quizás esto es más como lo que querías:

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

Tampoco sé por qué estás tratando de hacer coincidir 3 comillas en la expresión, pero eso está más allá del alcance de lo que pediste.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top