No tienes acceso a esta clase

隆Contin煤a aprendiendo! 脷nete y comienza a potenciar tu carrera

Aprende todo un fin de semana sin pagar una suscripci贸n 馃敟

Aprende todo un fin de semana sin pagar una suscripci贸n 馃敟

Reg铆strate

Comienza en:

2D
5H
5M
15S
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?

o inicia sesi贸n.

** 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
"[email protected]".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]/

Odio el regex

(y vos tambi茅n)
As铆 que te dejo esta maravillosa p谩gina:
https://ihateregex.io/

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 馃憖?