Regístrate para acceder a más de 15 cursos gratuitos de programación con un simulador

Presentación de caracteres y metacaracteres Expresiones regulares (Regexp)

Las expresiones regulares son un lenguaje formal utilizado para buscar caracteres y manipular subcadenas. Es una herramienta poderosa que permite trabajar eficientemente con texto.

Las expresiones regulares son una cadena de texto especial que define un patrón de búsqueda. En el patrón de búsqueda se utilizan:

  • Caracteres que se desean encontrar.
  • Caracteres especiales.

Para mayor claridad, en este curso utilizaremos el siguiente formato de ejemplos:

  • Arriba: cadenas de ejemplo con expresiones regulares.
  • Abajo: cadenas en las que realizamos la búsqueda.

Recomendamos probar todos los ejemplos en editores en línea de expresiones regulares: regex101, regexr u otros. Elije el motor JavaScript o PCRE para ejemplos que no sean compatibles con JavaScript.

Para comenzar, definiremos un patrón con los caracteres que queremos encontrar en una cadena:


/java/

java \ python ruby1.9 javascript c#


Observa el carácter /, se le llama delimitador (delimiter). Se coloca al principio y al final de la expresión regular para separarla del resto del texto.

Vemos que se encontraron dos coincidencias en el texto java. Esta coincidencia se llama exacta. No utilizamos caracteres especiales y encontramos combinaciones de caracteres que coinciden exactamente con la combinación especificada.

Si agregamos otro carácter, ya no habrá coincidencia porque esa subcadena no está en nuestra cadena:


/javab/

java \ python ruby1.9 javascript c#


Veamos en detalle la diferencia entre caracteres especiales y caracteres que buscamos en el texto. Intentemos encontrar cualquier carácter en el texto. Para ello, utilizaremos el metacaracter punto .:


/./

java \ python ruby1.9 javascript c#


Como resultado, se resaltó toda la cadena.

Ahora intentemos combinar caracteres en la cadena de patrón. Busquemos coincidencias de cualquier carácter seguido de la letra y. En este caso, obtendremos dos coincidencias:


/.y/

java \ python ruby1.9 javascript c#


Al combinar caracteres especiales y caracteres normales, debemos tener en cuenta el comportamiento especial de los caracteres especiales.

Observa el siguiente ejemplo, donde especificamos los caracteres 1.9 en el patrón. Es importante entender que no coinciden con la combinación de caracteres 1.9, sino con todas las subcadenas de tres caracteres en las que el primer carácter es 1 y el último es 9.

Por lo tanto, entre estos caracteres en la cadena puede haber cualquier cosa:


/1.9/

java \ python ruby1.9 javascript c#

java \ python ruby189 javascript c#

java \ python ruby1k9 javascript c#


Supongamos que queremos usar el punto como un signo de puntuación normal, no como un carácter especial en el lenguaje de expresiones regulares. En ese caso, debemos escapar los caracteres utilizando uno de los llamados caracteres de escape.

Para ello, colocamos una barra invertida \ antes del carácter que queremos escapar. De esta manera, el carácter especial dejará de tener un significado especial. Como puedes ver, todo funciona correctamente. Si en lugar del punto colocamos otro carácter, nuestra subcadena no coincidirá con el patrón:


/1\.9/

java \ python ruby1.9 javascript c#

java \ python ruby1d9 javascript c#


De la misma manera, también podemos escapar la barra invertida misma si queremos usarla como un carácter normal. Como resultado, veremos la siguiente coincidencia:


/\\/

java \ python ruby1d9 javascript c#



Materiales adicionales

  1. Expresiones regulares / Wikipedia
  2. Cheatsheet - tabla de sintaxis de expresiones regulares
  3. Editor de expresiones regulares en línea

Para acceder completo a curso necesitas un plan básico

El plan básico te dará acceso completo a todos los cursos, ejercicios y lecciones de Códica, proyectos y acceso de por vida a la teoría de las lecciones completadas. La suscripción se puede cancelar en cualquier momento.

Obtener acceso
130
cursos
1000
ejercicios
2000+
horas de teoría
3200
test

Obtén acceso

Cursos de programación para principiantes y desarrolladores experimentados. Comienza tu aprendizaje de forma gratuita

  • 130 cursos, 2000+ horas de teoría
  • 1000 ejercicios prácticos en el navegador
  • 360 000 estudiantes
Al enviar el formulario, aceptas el «Política de privacidad» y los términos de la «Oferta», y también aceptas los «Términos y condiciones de uso»

Nuestros graduados trabajan en empresas como:

Bookmate
Health Samurai
Dualboot
ABBYY