No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Convierte tus certificados en títulos universitarios en USA

Antes: $249

Currency
$209

Paga en 4 cuotas sin intereses

Paga en 4 cuotas sin intereses
Suscríbete

Termina en:

19 Días
12 Hrs
7 Min
26 Seg
Curso de Ruby

Curso de Ruby

Simón Soriano

Simón Soriano

Uso de Regex

12/39
Recursos

Regex es un tema amplio y complejo, es por esto que en Platzi hemos creado un curso enfocado 100% en Expresiones Regulares, te invitamos a tomarlo.

Para declarar un regex, se utiliza el “”/"" , ejemplo:

is_gmail_regex = /\w+@gmail.com/

Aportes 8

Preguntas 0

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

** Regex o «expresiones regulares»**

Una expresión regular viene a ser un patrón, que se ajusta a un string para que coincida o no, son una poderosa herramienta para trabajar con texto.

  • Un regex se declara entre slash “/”
  • Un regex puede tener multiples matches

Algunas abreviaciones para clases de caracteres

  • Todas las abreviaciones precedentes, también tienen una forma negada. Para ello, se pone la misma letra en mayúsculas:
Expresión significado
. cualquier carácter
[] especificación por rango. P.ej: [a-z], una letra de la a, a la z
\w letra o número; es lo mismo que [0-9A-Za-z]
\W cualquier carácter que no sea letra o número
\s carácter de espacio; es lo mismo que [ \t\n\r\f]
\S cualquier carácter que no sea de espacio
\d número; lo mismo que [0-9]
\D cualquier carácter que no sea un número
\b retroceso (0x08), si está dentro de un rango
\b límite de palabra, si NO está dentro de un rango
\B no límite de palabra
* cero o más repeticiones de lo que le precede
+ una o más repeticiones de lo que le precede
$ fin de la línea
{m,n} como menos m, y como mucho n repeticiones de lo que le precede
? al menos una repetición de lo que le precede; lo mismo que {0,1}
() agrupar expresiones
pipeline* operador lógico O, busca lo de antes o lo después

Hace un tiempo aprendí a hacer regex jugando en esta página: Rubular en la parte inferior de la sitio hay una referencia para practicar

¿Cómo utilizar expresiones regulares en Ruby?


Una expresión regular viene a ser un patrón, que se ajusta a un string para que coincida o no, son una poderosa herramienta para trabajar con texto.

Las expresiones regulares son todo un tema así que si quieres profundizar es estas ve aquí . Igual podemos declarar algunas así:

is_gmail_regex = /\[email protected]/

#Vamos a hacer un match con nuestro regex
"[email protected]".match is_gmail_regex # #<MatchData "simon@gmail.com">

#Si el string que le pasamos no hace match nos da nil
"simon@gmail".match is_gmail_regex # nil

\w → letra o número; es lo mismo que [0-9A-Za-z]
\d → número; lo mismo que [0-9]

number_regex = /\d+/

En esta página hay un tutorial interactivo para aprender regexp
RegexOne | Learn Regular Expressions with simple, interactive exercises.
https://regexone.com/

Los regex son muy relevantes para validar data que nos ingresa el usuario. No se preocupen si no se los aprenden todos de memoria, lo importante (por ahora) es saber cómo utilizarlos.

Para declarar un regex

se utiliza el “”/"" , ejemplo:

is_gmail_regex = /\[email protected]/

Cuando escribo una mezcla entre numeros y letras encerrados por comillas (String) hace un match.

"123letra".match number_regex
#<MatchData "12312">

Sin embargo, cuando hago lo mismo, pero solo con letras, no hace match.

"Nombre".match number_regex
 => nil

Creería que d matchea con dígitos o caracteres ASCII, por lo que esperaría que valide numeros y letras. ¿Alguien sabe qué puede estar pasando 👀?

Odio el regex

(y vos también)
Así que te dejo esta maravillosa página:
https://ihateregex.io/