logo

Tutorial de expresiones regulares: ¿Cómo escribir expresiones regulares?

Una expresión regular (regex) es una secuencia de caracteres que definen un patrón de búsqueda. A continuación se explica cómo escribir expresiones regulares:

  1. Comience por comprender los caracteres especiales utilizados en expresiones regulares, como ., *, +, ? y más.
  2. Elija un lenguaje o herramienta de programación que admita expresiones regulares, como Python, Perl o grep.
  3. Escribe tu patrón usando los caracteres especiales y los caracteres literales.
  4. Utilice la función o método apropiado para buscar el patrón en una cadena.

Ejemplos:

  1. Para hacer coincidir una secuencia de caracteres literales, simplemente escriba esos caracteres en el patrón.
  2. Para hacer coincidir un solo carácter de un conjunto de posibilidades, utilice corchetes, p. [0123456789] coincide con cualquier dígito.
  3. Para hacer coincidir cero o más apariciones de la expresión anterior, utilice el símbolo de estrella (*).
  4. Para hacer coincidir una o más apariciones de la expresión anterior, utilice el símbolo más (+).
  5. Es importante tener en cuenta que las expresiones regulares pueden ser complejas y difíciles de leer, por lo que se recomienda utilizar herramientas como probadores de expresiones regulares para depurar y optimizar sus patrones.

Una expresión regular (a veces llamada expresión racional) es una secuencia de caracteres que definen un patrón de búsqueda, principalmente para su uso en la coincidencia de patrones con cadenas, o coincidencia de cadenas, es decir, buscar y reemplazar operaciones similares. Las expresiones regulares son una forma generalizada de hacer coincidir patrones con secuencias de caracteres. Se utiliza en todos los lenguajes de programación como C++, Java y Python.



¿Qué es una expresión regular y qué la hace tan importante?

La expresión regular se utiliza en Google analitico en la coincidencia de URL para admitir búsquedas y reemplazos en los editores más populares como Sublime, Notepad++, Brackets, Google Docs y Microsoft Word.

  Example :    Regular expression for an email address : ^([a-zA-Z0-9_-.]+)@([a-zA-Z0-9_-.]+).([a-zA-Z]{2,5})$>

La expresión regular anterior se puede utilizar para comprobar si un conjunto determinado de caracteres es una dirección de correo electrónico o no.

¿Cómo escribir expresiones regulares?

Hay ciertos elementos que se utilizan para escribir expresiones regulares como se menciona a continuación:



knn

1. Repetidores ( *, + y { } )

Estos símbolos actúan como repetidores y le dicen a la computadora que el carácter anterior debe usarse más de una vez.

2. El símbolo de asterisco (*)

Le dice a la computadora que coincida con el carácter anterior (o conjunto de caracteres) 0 o más veces (hasta infinitas).

  Example :   The regular expression ab*c will give ac, abc, abbc, abbbc….and so on>

3. El símbolo más (+)

Le dice a la computadora que repita el carácter anterior (o conjunto de caracteres) al menos una o más veces (hasta infinitas).



  Example :   The regular expression ab+c will give abc, abbc, abbbc, … and so on.>

4. Las llaves {...}

Le indica a la computadora que repita el carácter anterior (o conjunto de caracteres) tantas veces como el valor dentro de este paréntesis.

granandhra
  Example :   {2} means that the preceding character is to be repeated 2  times, {min,} means the preceding character is matches min or more  times. {min,max} means that the preceding character is repeated at least min & at most max times.>

5. Comodín (.)

El símbolo de punto puede sustituir a cualquier otro símbolo, por eso se le llama carácter comodín.

  Example :    The Regular expression .* will tell the computer that any character can be used any number of times.>

6. Carácter opcional (?)

Este símbolo le dice a la computadora que el carácter anterior puede estar presente o no en la cadena que debe coincidir.

  Example :    We may write the format for document file as – docx? The ‘?’ tells the computer that x may or may not be  present in the name of file format.>

7. El símbolo de intercalación ( ^ ) ( Estableciendo la posición para el partido)

El símbolo de intercalación le dice a la computadora que la coincidencia debe comenzar al principio de la cadena o línea.

  Example :   ^d{3} will match with patterns like '901' in '901-333-'.>

8. El símbolo del dólar ($)

Le dice a la computadora que la coincidencia debe ocurrir al final de la cadena o antes de al final de la línea o cadena.

  Example :   -d{3}$ will match with patterns like '-333' in '-901-333'.>

9. Clases de personajes

Una clase de personaje coincide con cualquiera de un conjunto de caracteres. Se utiliza para hacer coincidir el elemento más básico de un idioma como una letra, un dígito, un espacio, un símbolo, etc.

s : coincide con cualquier carácter de espacio en blanco, como espacio y tabulación.
S : coincide con cualquier carácter que no sea un espacio en blanco.
d : coincide con cualquier carácter de dígito.
D: coincide con cualquier carácter que no sea un dígito.
En : coincide con cualquier carácter de palabra (básicamente alfanumérico)
EN : coincide con cualquier carácter que no sea una palabra.
 : coincide con cualquier límite de palabra (esto incluiría espacios, guiones, comas, punto y coma, etc.
[conjunto_de_caracteres]: Coincide con cualquier carácter en set_of_characters. De forma predeterminada, la coincidencia distingue entre mayúsculas y minúsculas.

  Example :   [abc] will match characters a,b and c in any string.>

10. [^conjunto_de_caracteres] Negación:

Coincide con cualquier carácter que no esté en set_of_characters. De forma predeterminada, la coincidencia distingue entre mayúsculas y minúsculas.

lista de clasificación java
  Example :   [^abc] will match any character except a,b,c .>

11. [primero-último] Rango de caracteres:

Coincide con cualquier carácter en el rango del primero al último.

  Example :   [a-zA-z] will match any character from a to z or A to Z.>

12. El símbolo de escape ()

Si desea hacer coincidir los caracteres reales '+', '.', etc., agregue una barra invertida () antes de ese carácter. Esto le indicará a la computadora que trate el siguiente carácter como un carácter de búsqueda y lo considere como un patrón coincidente.

  Example :   d+[+-x*]d+ will match patterns like '2+2' and '3*9' in '(2+2) * 3*9'.>

13. Agrupación de personajes ( )

Se puede agrupar un conjunto de diferentes símbolos de una expresión regular para que actúe como una sola unidad y se comporte como un bloque; para ello, debe envolver la expresión regular entre paréntesis ().

  Example :   ([A-Z]w+) contains two different elements of the regular  expression combined together. This expression will match any pattern  containing uppercase letter followed by any character.>

14. Barra vertical ( | )

Coincide con cualquier elemento separado por el carácter de barra vertical (|).

  Example :   th(e|is|at) will match words - the, this and that.>

15. úmero

Referencia anterior: permite identificar posteriormente una subexpresión coincidente previamente (expresión capturada o encerrada entre corchetes circulares) en la misma expresión regular. significa que el grupo encerrado dentro del enésimo corchete se repetirá en la posición actual.

  Example :   ([a-z])1 will match ee in Geek because the character  at second position is same as character at position 1 of the match.>

16. ¿Cómo (?# comentario)

Comentario en línea: el comentario termina en el primer paréntesis de cierre.

  Example :   A(?#This is an inline comment)w+>

17. # [hasta el final de la línea]

Comentario en modo X. El comentario comienza con un # sin escape y continúa hasta el final de la línea.

  Example :   (?x)Aw+#Matches words starting with A>