Expresión regular

Definición - ¿Qué significa expresión regular?

Una expresión regular es un método utilizado en la programación para la coincidencia de patrones. Las expresiones regulares proporcionan un medio flexible y conciso para hacer coincidir cadenas de texto. Por ejemplo, una expresión regular podría usarse para buscar en grandes volúmenes de texto y cambiar todas las apariciones de "gato" por "perro".

Las expresiones regulares se utilizan para sistemas de resaltado de sintaxis, validación de datos y en motores de búsqueda como Google, para tratar de determinar una coincidencia algorítmica con la consulta que realiza un usuario.

Las expresiones regulares también se conocen en forma abreviada como regex o regexp.

Techinfo explica la expresión regular

Las utilidades, los editores de texto y los lenguajes de programación utilizan expresiones regulares para manipular y buscar patrones de texto. Si bien algunos lenguajes integran expresiones regulares en el núcleo de la sintaxis del lenguaje, como TCL, Awk, PERL y RUBY, otros usan expresiones regulares a través de bibliotecas, como Java, C ++ y C. Esto significa que existen diferencias de implementación, por lo que una expresión regular que funciona bien con una aplicación podría o no funcionar con otra. Existen sutiles diferencias.

Las expresiones regulares pueden ser increíblemente poderosas. Básicamente, si se puede definir el patrón, se puede crear una expresión regular. Un patrón simple puede ser algo tan simple como encontrar todas las situaciones en las que una oración termina en "eso" y se reemplaza por "cuál". El patrón podría volverse más complejo al hacer el mismo reemplazo, pero solo en la tercera y quinta ocurrencia de una coincidencia. O podría complicarse aún más al usar diferentes conjuntos de caracteres coincidentes dependiendo de la frecuencia y ubicación de los caracteres coincidentes anteriores.

Los tres componentes principales de una expresión regular son anclajes que se utilizan para especificar la posición de un patrón en relación con una línea de texto, conjuntos de caracteres que coinciden con uno o más caracteres en una sola posición y modificadores que especifican el número de veces se repite el juego de caracteres anterior.

Las operaciones que ayudan a construir expresiones regulares son:

  • Cuantificación: Los cuantificadores dictan la frecuencia con la que se permite que ocurra el elemento anterior.
  • Agrupación: los operadores pueden tener su alcance y precedencia especificados usando paréntesis.
  • Condiciones booleanas: se puede establecer una condición OR o AND para operadores y grupos.

Las expresiones regulares utilizan algoritmos como Automatización finita determinista (DFA) y Automatización finita no determinista (NFA) para hacer coincidir una cadena. En un NFA, para cada par de estado y símbolo de entrada hay varios estados siguientes posibles, mientras que un DFA acepta una cadena finita de símbolos.