CATEGORIAS
RegEx
Las abreviaturas regex y regexp denotan expresiones regulares que se utilizan en la informática teórica, programación, desarrollo de software, procesamiento de textos y optimización de motores de búsqueda. Las expresiones regulares se pueden utilizar para describir cadenas y números de cadenas en una forma lógica general con el fin de buscarlas, sustituirlas, manipularlas o procesarlas en documentos, código fuente o una base de datos.
Ejemplo: En un editor de texto habilitado para regex, se supone que se muestran todos los enlaces contenidos en un archivo HTML. Si se introduce la expresión [^”]*”[^>]*> en la función de búsqueda del editor, se mostrarán todos los enlaces que tengan el formato habitual para enlaces HTML. El término [.* realiza la misma tarea.]
Información general
El lógico y matemático Stephen Kleene es considerado el fundador de regex. En 1956 utilizó anotaciones de cantidades regulares en un ensayo sobre la representación de eventos en redes neuronales y autómatas finitos. Este y otros trabajos son hoy fundamentos fundamentales en la informática teórica. Las expresiones regulares se utilizan ahora en varios campos para simplificar las operaciones, que de otro modo requerirían mucho trabajo y mucho tiempo.
Regex puede ser utilizado en función de su implementación en varios lenguajes de programación, entornos y editores de texto, por ejemplo, en Perl, PHP,.NET o JavaScript como elementos de una librería[1]. O en EditPad, Emacs y Notepad ++ como una función de búsqueda y reemplazo en editores de texto. En Google Analytics, las expresiones regulares también se utilizan para filtrar las fuentes de tráfico, definir segmentos y separar los datos detallados del informe de otros datos.
Funcionalidad
Los usos de regex son extremadamente diversos. Las posibles expresiones regulares dependen de la notación. Hay diferentes notaciones en diferentes lenguajes de programación. Estas anotaciones se denominan shell pattern name, BRE (Basic Regular Expressions, Expresiones Regulares Básicas) y ERE (Extended Regular Expressions, Expresiones regulares extendidas). Las diferencias se deben a veces al hecho de que se utilizan caracteres individuales y especialmente metacaracteres (caracteres de control) en un lenguaje de programación.
Generalmente, se distinguen los caracteres (terminales) y los metacaracteres. Los caracteres se registran en el juego de caracteres (el alfabeto) que contiene, por ejemplo, números, letras y comas. Los metacaracteres son operaciones especificadas como alternancia |, vinculación () y y se repiten con *, + y ?. Con ^ las cantidades se pueden negar. Los metacaracteres son instrucciones para el software de procesamiento. Los caracteres regulares pueden estar delante o detrás de los metacaracteres, su significado formal será diferente. La mayoría de las implementaciones trabajan con un motor especial de regex que analiza e interpreta las expresiones regulares listadas y verifica los recursos por instancias.
- Carácter regular: Todos los números del 0 al 9. Todas las letras de un alfabeto y algunos caracteres especiales (comas, guiones, punto y coma). Importante: El alfabeto depende del juego de caracteres utilizado (por ejemplo, Unicode o ASCII).
- Clases de carácter: es, por ejemplo, un número del 1 al 9. Mientras que encontraría todos los tabuladores. Otras opciones son l para minúsculas, s para todos los espacios o u para todas las letras mayúsculas.
- Metacaracteres:
[] () {} | ? + - * ^ $ \
Con una barra invertida colocada antes, se puede cancelar un metacaracter.
Importancia práctica
Los siguientes métodos pueden implementarse con expresiones regulares:
- Coincidencia de patrones: Mediante el uso de un algoritmo de coincidencia de cadenas, los textos pueden ser revisados para la ocurrencia de patrones. En este caso una expresión regular representa un conjunto de cadenas con sus ocurrencias reconciliadas en el texto. La expresión regex especifica el patrón, el motor verifica el patrón contra un recurso (por ejemplo, un documento HTML o un texto). En determinadas circunstancias, se puede especificar una regla de reemplazo para modificar directamente los strings encontrados. Se pueden utilizar cuantificadores para reducir los resultados. Ejemplos: la verificación de una dirección de correo electrónico introducida en cuanto a su corrección formal, o la búsqueda de dominios de primer nivel en una lista de URLs.
- Globbing: Los nombres de archivo se agregan a los marcadores de posición para seleccionar todos los archivos en un formato particular, por ejemplo. El comodín “muestra.*” encontraría todos los archivos en un sistema de gestión de archivos que empiezan con “sample”, pero son formatos de archivo diferentes como.txt. o.doc. El asterisco representa la variedad de formatos de archivo. Globbing también se utiliza en ataques de denegación de servicio donde los servidores están siendo sobrecargados intencionalmente.[2]
- Truncation: En las búsquedas en bases de datos, los términos de búsqueda suelen abreviarse o truncarse utilizando comodines. El término “muestra*” encontraría todos los términos que comienzan con muestra y terminan con otras letras, como por ejemplo, coincidencia de muestras, prueba de muestras o ejemplo de muestra. Por truncamiento, el espacio de búsqueda se amplía. Ejemplo: En una búsqueda de biblioteca, se pueden encontrar todas las entradas que contienen un término de búsqueda específico.
- Stemming: Al frenar, se atribuyen a la palabra tallo diferentes variantes morfológicas de una palabra. Las negaciones y conjugaciones de palabras pueden así reducirse a su raíz o raíz lingüística. Este método se utiliza en la recuperación de información (por ejemplo, a través de motores de búsqueda) y en la informática teórica. Ejemplo: Google probablemente utiliza un proceso similar en el contexto de la búsqueda orgánica[3].
Importancia para la optimización de motores de búsqueda
Regex puede ser muy útil para algunos trabajos en el área de la optimización de motores de búsqueda[4] . Las herramientas de seguimiento y análisis como Google Analytics tienen una aplicación para regex.[5]
En Google Analytics, las expresiones regulares sirven para establecer filtros para las direcciones IP. Los filtros individuales se pueden definir en la configuración del perfil excluyendo las direcciones IP de uno o más visitantes. Por lo tanto, el tráfico de un rango de direcciones IP no se incluirá en los informes. Esto es útil si desea excluir visitas irrelevantes de las estadísticas de visitas, como sus propios empleados.
También se pueden procesar diferentes segmentos en Google Analytics utilizando regex. Por ejemplo, se pueden excluir las búsquedas que contengan un nombre de marca. Para este propósito, se definiría un segmento, que incluye sólo tráfico orgánico y no el nombre de marca que ha sido definido de antemano usando regex: “[mm] ejemplo de compañía” para deletreos con letras mayúsculas y minúsculas. También se pueden excluir diferentes tipos de palabras clave para averiguar cuánto tráfico se genera con dos o tres palabras clave específicas. Lo mismo se aplica al tráfico de otras fuentes como boletines de noticias, correos electrónicos y asociaciones de enlaces de sitios web externos.
Una táctica similar puede ser útil para el monitoreo de los canales de los medios sociales. Una fuente se definiría en este caso especificando las posibles fuentes con la expresión regular. Por ejemplo, “facebook|twitter|youtube|LinkedIn.” Google Analytics no es lo único que ofrece una serie de opciones que pueden ser explotadas con expresiones regulares[6]. Los weblogs y los entornos de servidor también pueden interpretar y procesar regex. Así, los sitios web pueden ser redirigidos y etiquetados como canónicos a través de ciertos patrones que son descritos por regex.[7]
Referencias