sábado, 21 de febrero de 2015

QRegExp: explicación rápida y sin marisqueras

Ejemplo #1: Detectar un número de dos dígitos 
"([0-9]{2,2})"
Explicación
[0-9]: Dígito del 0 al 9
{2,2}: Mínimo 2 y máximo 2 (Modifica al anterior que es [0-9]).

Pruebas:
QRegExp rx("([0-9]{2,2})");
rx.indexIn("123");        // Lo encuentra en 0
rx.indexIn("-asd66");   // Lo encuentra en 4
rx.indexIn("6");            // No encuentra

Ejemplo #2: Detectar las x de un polinomio y sus coeficientes
"([0-9]{,}x)"
Explicación
[0-9]: Dígito del 0 al 9
{ , }: Indica que la x puede tener o no un número adelante (cuando el coeficiente es 1 se no es necesario colocarselo)
x: Carácter x

Pruebas:
QRegExp rx("([0-9]{,}x)");  rx.indexIn("2y+3x");        // Lo encuentra en 3
rx.indexIn("2y+345x");    // Lo encuentra en 3
rx.indexIn("2y+x");          // Lo encuentra en 3
rx.indexIn("2y-5");           // No lo encuentra rx.indexIn("6");               // No encuentra

No hay comentarios:

Publicar un comentario