En este artículo vamos a continuar expandiendo nuestro set de herramientas para encontrar expresiones regulares que nos ayuden a definir el patrón de búsqueda más apropiado, siempre basándonos en una estructura de aprendizaje que se va a repetir a lo largo de toda esta serie de artículos.
Clases de caracteres
Supongamos que tenemos el siguiente ejemplo:
Por lo que en primera instancia, como bien venimos ejecutando los pasos, debemos definir que es lo que se quiere incluir y que se va a excluir:
Una vez que esta definido ese paso, debemos continuar con la búsqueda de un patrón:
Como vemos el patrón que se repite es que las palabras a buscar terminan con 'oo' y comienzan ya sea con 'f','c' o 'l'. Por último introducimos el concepto de clases de caracteres, el cual se basa en incluir los caracteres que pueden variar entre corchetes, por lo que la expresión regular nos quedaría así: [fcl]oo
A destacar, los valores a incluir entre los corchetes no deben estar separados ni por espacio, ni por comas. Haciendo una búsqueda en la herramienta Notepad++, nos encontramos con el resultado esperado:
Ahora bien, sigamos con el siguiente ejemplo, tenemos este conjunto de palabras:
Definimos lo que se va a incluir y lo que se va a excluir:
Buscamos el patrón y vemos algo muy parecido al patrón del ejercicio anterior, las palabras terminan con 'oo' y en este caso comienzan con 'f', 'c', 'z', 'b', 't' ó 'r'. Intuitivamente con las herramientas que poseemos hasta ahora nuestra respuesta al buscar la expresión regular, nos decantaríamos por [fczbtr]oo
Esta claro que esa es una respuesta válida, pero ¿Es la mejor opción?. Otra forma de verlo es que al mirar que patrón se repite, es que hay menos que excluir que lo que hay que incluir:
Para la búsqueda de la expresión regular es más sencillo hacer una negación de esa clase de caracteres, cosa que se soluciona de la siguiente manera [^hm]oo
Haciendo la búsqueda con Notepad++ obtenemos el resultado esperado:
Es muy importante destacar que esta seguidilla de artículos serán una incorporación muy gradual de las herramientas, para así lograr un mejor entendimiento y poder tener una base sólida sobre la qué generar las expresiones regulares que queremos y además con buena performance. Este artículo llegó a su fin, pero espero que sigas leyendo los próximos posteos donde traeré mas herramientas básicas y ejercicios de integración para todo lo que hemos aprendido hasta ahora. Nos vemos!