Continuo con mi mini guía de cada unas de las REGEX. No desesperéis que, en la última lección, pondré los ejemplos más típicos y las RegEx que se deben utilizar.

–       Crea intervalo en la lista creada por lo que haya dentro de unos corchetes []. Si tenemos una lista entre [c-o], hace un listado de las letras entre la  ‘c’ y ‘o’ 

d       Es un oscilador entre el 0 y el 9 [0-9] Por ejemplo, si ponemos d nos va a filtrar todos los números entre el 0 y el 9.

s       Espacio en blanco, tal cual. Recordamos cambie´n que la S (mayúscula) es cualquier carácter que no sea un espacio en blanco

 

Para que vayáis desengrasando la maquinaria, os voy poniendo unos ejemplos reales (de google analytics ) para que veíais por donde van los tiros. 

  • Ejemplo para un listado de palabras

Supongamos que lo que necesitamos es hacer un segmento de palabras clave, con por ejemplo, la coincidencia con cualquier palabra o frase de la lista siguiente:

  • tontería
  • maldito
  • caray
  • caramba
  • madre mía
  • ostras
Ejemplos de regex

(\W|^)(tontería|maldito|caray|caramba|madre\smía|ostras)(\W|$

  • (…) agrupa todas las palabras de modo que la clase de carácter \W afecta a todas las palabras del paréntesis.
  • \W coincide con cualquier carácter que no sea una letra, un número o un guión bajo. Impide que la expresión regex coincida con caracteres que precedan o sigan a las palabras o a las frases de la lista.
  • ^ coincide con el inicio de una nueva línea. Permite a la expresión regex coincidir con la palabra si aparece al principio de la línea, sin ningún carácter que le preceda.
  • $ coincide con el final de una línea. Permite a la expresión regex coincidir con la palabra si aparece al final de la línea, sin ningún carácter que le siga.
  • | indica la disyuntiva “o,” para que la expresión regex coincida con cualquiera de las palabras de la lista.
  • \s coincide con un carácter de espacio. Utilízalo para separar las palabras en una frase.

 

  • Ejemplo para la búsqueda de dominios o correos electrónicos

 

Coincidencia con cualquier dirección de correo electrónico de los dominiosyahoo.comhotmail.com y gmail.com.

 

Ejemplo de regex

(\W|^)[\w.+\-]{0,25}@(yahoo|hotmail|gmail)\.com(\W|$)

  • \W coincide con cualquier carácter que no sea una letra, un número o un guión bajo. Impide que la expresión regex coincida con caracteres que precedan o que sigan a la dirección de correo electrónico.
  • ^ coincide con el inicio de una nueva línea. Permite a la expresión regex coincidir con la dirección si aparece al principio de la línea, sin ningún carácter que le preceda.
  • $ coincide con el final de una línea. Permite a la expresión regex coincidir con la dirección si aparece al final de la línea, sin ningún carácter que le siga.
  • [\w.\-] coincide con cualquier carácter (a-z, A-Z, 0-9 o guión bajo), una punto, un signo más o un guión. Estos son los caracteres válidos más utilizados en la primera parte de una dirección de correo electrónico. Ten en cuenta que el carácter \- (que indica un guión) debe ir al final de la lista de caracteres dentro de los corchetes.
  • El carácter \ antes del guión y del punto actúa de carácter de “escape”, es decir, indica que el guión y el punto no son caracteres especiales regex por sí mismos. Ten en cuenta que no es necesario incluir un carácter de escape para el punto dentro de los corchetes.
  • {0,25} indica que, en el conjunto de caracteres anterior, puede haber entre 0 y 25 caracteres antes del símbolo @. La configuración de correo relacionada con el cumplimiento del contenido admite la coincidencia de hasta 25 caracteres para cada conjunto de caracteres en una expresión regular.
  • El formato (…) agrupa los dominios, mientras que el carácter | que los separa indica la disyuntiva “o”.
  • Ejemplo para intervalos de ip´s

 

Coincidencia con cualquier dirección IP que se incluya en el intervalo192.168.1.0 – 192.168.1.255.

 

Ejemplos de regex

Ejemplo 1:   192\.168\.1\. 
Ejemplo 2:   192\.168\.1\.\d{1,3}

 

  • El carácter \ antes de cada punto sirve de carácter de “escape”, es decir, indica que el punto no es un carácter especial regex por sí mismo.
  • En el ejemplo 1, no se incluye ningún carácter después del último punto, por lo que la expresión regex coincide con cualquier dirección IP que empiece por 192.168.1., independientemente del número que le siga.
  • En el ejemplo 2, \d coincide con cualquier cifra entre el 0 y el 9después del último punto, y {1,3} indica que pueden aparecer entre uno y tres números después del último punto. En este caso, la expresión regex coincide con cualquier dirección IP completa que empiece por 192.168.1.. Ten en cuenta que esta expresión también coincide con direcciones IP no válidas, por ejemplo, 192.168.1.999.
Anuncios