Expresión regular: lo que significa

click fraud protection

¿Qué es una expresión regular?

Regex, o expresiones regulares, son un marcado de coincidencia de patrones que programadores utilícelo para buscar ciertos patrones en el texto. Las expresiones regulares pueden buscar casi cualquier cosa, dependiendo de cómo las estructura; los programadores las utilizan en todas partes porque son invaluables para ayudar a las computadoras a clasificar los datos rápidamente y filtrar tonterías que de otro modo podrían causar errores.

Las expresiones regulares tienden a dar miedo, especialmente para quienes no son programadores. Solo mira esto:

[a-zA-Z0-9 _. + -] + @ [a-zA-Z0-9 _-] + \. [a-zA-Z0-9 _.-] +

Siendo realistas, en realidad no es tan malo; ese coincide con las direcciones de correo electrónico. Como verá, las expresiones se pueden dividir en caracteres individuales, todos los cuales le dicen al programa qué buscar.

Las expresiones regulares son casi universales. El mismo general sintaxis se aplica a todos los idiomas con solo ligeras variaciones aquí y allá. Esta guía contiene ejemplos de Python y JavaScript, así como expresiones regulares antiguas. Si trabaja con un idioma diferente, no se preocupe. Casi todo también se aplicará al idioma que elija.

instagram viewer

Conceptos básicos de las expresiones regulares

Técnicamente, no hay muchas cosas que no puedan considerarse expresiones regulares, porque las cadenas de texto literales son realmente simples. Si usara 'abcde' como expresión regular, el lenguaje de programación buscaría esa cadena exacta.

El primer carácter coincidente más dinámico que se debe observar es el '.' personaje. En este contexto, el carácter de punto es un comodín. Si está buscando con él, su programa devolverá cualquier carácter que encuentre como coincidencia.

Entonces, ¿qué pasa si quieres buscar un punto literal? Eso tampoco es difícil. Cuando desee utilizar un punto literal, agregue una barra invertida antes, como esta: '\.'

Personajes de barra invertida

Sin embargo, la barra invertida juega muchos más roles aquí. La mayoría de los principales caracteres de expresiones regulares incluyen una barra invertida.

Dígitos de expresión regular
Encontrar dígitos con expresiones regulares en Python.

Eche un vistazo a algunos ejemplos:

  • \ d: dígitos del 0 al 9
  • \ w: letras, dígitos y subrayado de "caracteres de palabras"
  • \ s: caracteres de espacio en blanco, incluidas tabulaciones, líneas nuevas y espacios regulares

Si usa la letra mayúscula en su lugar con cualquiera de estos, obtendrá lo contrario. Por ejemplo, '\ D' le da todo menos dígitos.

Clases

La caracteres de barra invertida son buenos, pero siguen siendo algo rígidos. Generalmente, querrá hacer coincidir letras, números o algunos caracteres especiales.

Clases de expresiones regulares
Uso de clases de expresiones regulares para encontrar letras en Python.

Coloque los caracteres que desea que coincidan en un par de corchetes '[]', y su programa coincidirá con cualquiera de ellos. A esto se le llama una clase de expresiones regulares.

[abcd1234]

El ejemplo anterior sigue siendo ineficaz. En su lugar, puede utilizar un guión para especificar un rango; por ejemplo, todas las letras minúsculas:

[Arizona]

También puede enumerar rangos. La siguiente expresión coincide con todas las letras y dígitos:

[a-zA-Z0-9]

Si va a incluir el guión en su conjunto de caracteres, agréguelo al final para evitar que se evalúe. También funciona con otros caracteres especiales.

[a-zA-Z0-9 _. + -]

Al igual que con los caracteres de barra invertida, aquí también puede obtener el resultado inverso. Coloque un '^' al comienzo de su clase para excluirlos de sus resultados. Esto excluirá dígitos y varios caracteres especiales de los resultados:

[^0-9_+.-]

Grupos

Los grupos usan un paréntesis para dividir su expresión. Agrupan datos, lo que permite que su programa los oriente y los utilice. Cuando un programa elimina el ' http://' desde una dirección web, utiliza grupos de expresiones regulares para lograrlo. La expresión regular le permite apuntar a ciertos criterios y los grupos le permiten separar secciones.

Grupos de expresiones regulares
Los grupos de expresiones regulares ayudan a encontrar URL en JavaScript.

Los grupos también te permiten elegir entre un patrón u otro. Emplean un solo '|' para actuar como "o" en la expresión. La siguiente expresión coincidirá con cualquiera de las siguientes: .com, .org, .net, .edu o .gov.

\. (com | org | net | edu | gov)

Cuantificadores

Los cuantificadores son exactamente lo que parecen. Indican a la expresión la cantidad de personaje que estás buscando. Estos son los cuantificadores disponibles:

  • *: Cero o más
  • +: Uno o más
  • ?: Cero o uno
  • {3}: la cantidad entre paréntesis

Coloque cualquiera de estos cuantificadores al final del carácter o clase cuya cantidad desea especificar. Este ejemplo busca números de teléfono estándar de siete dígitos:

\ d {3} [. * -] \ d {3} [. * -] \ d {4}

Anclas y límites

Las expresiones regulares le permiten buscar patrones según su posición dentro de una cadena de texto o alrededor de una palabra.

Anclajes de expresión regular
Los anclajes de expresiones regulares utilizan el posicionamiento para encontrar una coincidencia en JavaScript.

Estas son sus opciones principales:

  • ^: El comienzo de una cadena
  • $: El final de una cadena
  • \ b: Límite de palabra (el principio o el final de una palabra)

Si solo desea encontrar cadenas que comiencen con una letra, puede probar:

^ [a-zA-Z]

Diga que quiere encontrar solo la palabra "eso", no palabras que contengan las letras I y T; ahí es donde usarías los límites de las palabras.

\ b (yo | yo) t \ b

Pensamientos finales

Las expresiones regulares pueden ahorrarle muchos dolores de cabeza al programar. Imagínese tratando de escribir lógica para lograr cualquiera de los ejemplos de este artículo. Sería un desastre terrible. Una vez que se sienta cómodo con ellos, probablemente se encontrará realmente disfrutando del poder y la flexibilidad de las expresiones regulares.

instagram story viewer