Pregunta

Utilizo la clase QHighlighter, y usé REGEXP para resaltar las palabras en las cotizaciones:

void Highlighter::highlightBlock(const QString &text)
{
    QRegExp expr("\"(.*?)\"");
    int index = expr.indexIn(text);
    while(index >=0)
    {
        int length = expr.matchedLength();
        setFormat(index, length, Qt::red);
        index = expr.indexIn(text, index+length);
    }

}

no funciona.Trabaja esto:

"\".*\""

Pero resalta innecesario.¿Qué expresión regular es correcta?

¿Fue útil?

Solución

solo hincrifE todo entre comillas

QRegExp("\"([^\"]*)\"");

Resalte las palabras individuales (Ejecutar en bucle con offset para coincidir con las palabras)

QRegExp("\"(\\w)*\"");

Otros consejos

Cómo coincidir con las palabras en las cotizaciones:

('|")[^\1]*?\1

Ejemplo:

http://regex101.com/r/if5aa1

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