Continuando con esta serie de artículos sobre Regex es la hora de ver Clases con Rango, en el artículo anterior vimos Clases de caracteres, con las que podíamos definir mediante los corchetes que caracteres eran los que variaban en un patron de palabras terminadas con 'oo'. Sin más que agregar comencemos a incorporar esta nueva herramienta.
Clases de caracteres con Rango
Supongamos que tenemos el siguiente ejemplo:
Definimos que se va a incluir y excluir:
Buscamos el patrón:
Con lo que sabemos hasta ahora, fácilmente deducimos la respuesta [jklm]oo, la cuál no es una respuesta desacertada, pero además de ver el patrón que se repite tenemos que mirarlo más allá, en este caso abocado al abecedario. Si nos damos cuenta el patrón es una secuencia de letras del alfabeto que van de la letra 'j' a la letra 'm'. Por lo que se introduce, ahora si, el concepto de Rango, teniendo este resultado: [j-m]oo.
Con facilidad vemos que la ventaja de los Rangos se da con la cantidad de caracteres que podemos representar con el mismo. De la otra manera tendríamos que colocar muchos caracteres y obtendríamos el mismo resultado escribiendo más.
Haciendo las pruebas con Notepad++, obtenemos el resultado esperado:
Ahora bien, tenemos el mismo ejemplo pero queremos incluir algo más:
Ahora sabemos representar un rango, nos quedaría saber como representar algo fuera del rango, y es muy sencillo lo incluimos en la clase luego del rango sin ninguna separación [j-mz]oo.
Probando la regex con Notepad++ obtenemos el resultado esperado:
Por último tenemos el siguiente ejemplo:
o que se incluye y se excluye es lo siguiente:
Ahora el patrón es muy similar:
Ahora bien si intentamos ejecutar el regex anterior nos damos cuenta de que excluye las palabras que empiezan con mayúscula por lo que deberíamos incluir en la regex algo que especifique que las mayúsculas deben tenerse en cuenta, por lo que regex nos quedaría así [j-mJ-Mz]oo.
Si lo probamos en Notepad++ obtenemos el resultado esperado:
Ahora bien te propongo que con lo que hemos aprendido hasta ahora encuentres el regex para el siguiente ejemplo:
Recordá que hay varias maneras de hacerlo, la revisión la encontraras en el siguiente artículo. Muchas gracias leer este blog, te espero en el siguiente.