GNU/Linux >> Tutoriales Linux >  >> Linux

Hoja de trucos/conceptos básicos de Regex

Hoja de trucos/conceptos básicos de Regex

Las expresiones regulares (regex o regexp) son una herramienta muy útil para identificar patrones específicos en cualquier texto, lo que ayuda a extraer información independientemente del formato del texto.

Regex se puede usar para validar entradas, web scraping, encontrar cadenas específicas en documentos, validación de sintaxis para compiladores y muchos otros ejemplos.

Regex se usa ampliamente en varios lenguajes de programación que usan casi la misma sintaxis, por lo que este artículo pretende mostrar los operadores básicos de expresiones regulares.

Las siguientes secciones mostrarán los diferentes operadores utilizados para expresiones regulares y algunos ejemplos. También puede probar sus expresiones regulares con algunas explicaciones de ellas en esta página.

Anclajes

Caracteres Usar
^ Indica el comienzo de la cadena. Solo coincidirá con la cadena que comienza con los caracteres que siguen
$ Indica el final de la cadena. Esto coincidirá con cualquier cadena que termine con los caracteres antes del símbolo '$'
abc Coincide con cualquier cadena que contenga la secuencia de caracteres 'abc'

Algunos ejemplos son:

Ejemplo Descripción Ejemplos de cadenas coincidentes
^A Coincide con todas las cadenas que comienzan con A A n manzana está en el árbol”, “A nuevo restaurante”
end$ Coincide con una cadena que termina con la secuencia de caracteres 'final' “El fin ”, “Pretendamosterminar
^Hola mundo$ Coincide con la cadena exacta 'Hola mundo' Hola mundo
orden Coincide con cualquier cadena que contenga el texto 'orden' “Mi pedido número es 54”

Cuantificadores

Los cuantificadores se utilizan para representar las veces que queremos que el personaje o grupo de personajes anterior aparezca en nuestra coincidencia.

Caracteres Usar
* Indica cero o más
+ Indica uno o más
? Indica cero o uno
x{n} Se utiliza para especificar el número de veces ('n') que debe aparecer el carácter anterior ('x')
x{n, } Se utiliza para especificar el número mínimo de veces ('n') que debe aparecer el carácter anterior ('x')
x{n, m} Se utiliza para especificar el número mínimo ('n') y máximo ('m') de veces que debe aparecer el carácter anterior ('x')

Algunos ejemplos son:

Ejemplo Descripción Ejemplos de cadenas coincidentes
¡hola!* Coincide con cualquier cadena "hola" seguida de cero o más caracteres "!" hola ”, “¡hola! ”, hola!!
¡hola!+ Coincide con cualquier cadena "hola" seguida de uno o más caracteres "!" ¡Hola! ”, “hola!!
¡hola!? Coincide con cualquier cadena 'hola' seguida de cero o uno '!' caracteres hola ”, “¡hola!
(ha){2,4} Coincide con cualquier cadena que repita el grupo de caracteres 'ha' de dos a cuatro veces jaja ”, “jajaja ”, “jajajaja

Operador

Caracteres Usar
a|b Coincide con cualquier cadena que contenga 'a' o 'b'
[ ] Se usa para representar una lista, por lo que coincide con una cadena que contiene uno de los caracteres dentro de la lista

Algunos ejemplos son:

Ejemplo Descripción Ejemplos de cadenas coincidentes
se(a|e) Coincide con cualquier cadena que contenga el texto 'se' seguido de una 'a' o una 'e' ver ”, “mar
a[bcd] Coincide con cualquier cadena que contenga una 'a' seguida de 'b', 'c' o 'd' ab ”, “ac ”, “anuncio

Clases de personajes

Los operadores de clases de caracteres le permiten unir caracteres dentro de una categoría (clase). Estos operadores ofrecen sus negaciones, que son iguales al operador normal pero en mayúsculas.

Caracteres Usar
\d Coincide con un único dígito personaje
\w Coincide con una sola palabra carácter (letras, números y guión bajo)
\s Coincide con un solo espacio en blanco carácter, incluidos tabuladores y saltos de línea
\D Coincide con un solo no dígito personaje
\W Coincide con una sola no-palabra carácter (letras, números y guión bajo)
\S Coincide con un solo espacio no en blanco carácter, incluidos tabuladores y saltos de línea
. Coincide con cualquier carácter único

Banderas

Regex generalmente usa la forma /pattern/ . Al final, podemos usar las siguientes banderas:

Bandera Descripción
g El global flag se utiliza para buscar todas las coincidencias individuales dentro de la cadena. Si no se usa, la expresión volverá después de la primera coincidencia
m La multilínea flag permite usar ^ y $ como el principio y el final de una línea, no como el principio y el final de la cadena, que puede contener varias líneas
yo El insensible flag hace que la expresión regular no distinga entre mayúsculas y minúsculas

Conclusiones

Regex tiene muchos usos. Puede combinar los operadores simples explicados en este artículo para crear búsquedas de patrones complejos. Un ejemplo es validar una dirección de correo electrónico, esto se puede hacer con la siguiente expresión regular:

^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$

Este ejemplo coincide con una cadena completa para la que busca un patrón con el siguiente orden:

  • [\w-\.]+ :una combinación de uno o más caracteres de palabras, guiones o puntos
  • @ :el símbolo @
  • ([\w-]+\.)+ :una o más combinaciones de uno o más caracteres de palabras o guiones terminados en un punto (para dominios y subdominios en el correo electrónico como email.rackspace.)
  • [\w-]{2,4} :una combinación de caracteres de 2, 3 o 4 palabras o guiones para la parte final del correo electrónico (com)

Al igual que este ejemplo, hay muchos otros que se pueden implementar fácilmente para diferentes propósitos.


Linux
  1. Hoja de trucos para los comandos comunes de Linux

  2. La práctica hoja de trucos de un administrador de sistemas para SELinux

  3. Presentamos una hoja de referencia de macros de Groff

  4. Hoja de trucos de Yum Command

  5. Comandos vi básicos (hoja de trucos)

Hoja de referencia de comandos de Linux:con ejemplos

Hoja de referencia de comandos de Git

Hoja de referencia de comandos de MySQL

Hoja de referencia de atajos de teclado de Kali Linux

Comandos nano básicos (hoja de trucos)

Comandos vim básicos (hoja de trucos)