1+ # Regex
2+
3+ """
4+ Es una herramienta para trabjar con texto
5+ Se trabaja a traves del modulo 'Re'
6+ Permite buscar, coincidir y manipular cadenas de texto
7+ Se usan para:
8+ * Validar formatos (correos electronicos o numeros de telefono)
9+ * Extraer info especifica de un texto (fechas o palabras clave)
10+ * Reemplazar partes de un texto
11+ """
12+
13+ # Importamos el modulo re
14+ import re
15+
16+ """
17+ Metodos clave:
18+ * re.search() Busca la primera coincidencia del patron del texto
19+ * re.match() Verifica si el patron coincide al inicio del texto
20+ * re.findall() Devuelve todas las coincidencias en una lista
21+ * re.sub() Reemplaza coincidencias por otro texto
22+ """
23+
24+ # Ejercicio:
25+ texto = 'Mi numero es 1234 y el tuyo es 5678'
26+ patron = r'\d+' # '\d+' uno o mas digitos
27+ numeros = re .findall (patron , texto )
28+ print (numeros )
29+
30+ """
31+ Caracteres comunes es regex
32+ * .: cualquier caracter (excepto salto de linea)
33+ * *: 0 o mas repeticiones
34+ * +: 1 o mas repeticiones
35+ * ?: 0 o una repeticion
36+ * \d: Un dígito (0-9).
37+ * \w: Un carácter alfanumérico (letras, números, guión bajo).
38+ * \s: Espacio en blanco.
39+ * []: Define un conjunto de caracteres (ejemplo: [a-z] para letras minúsculas).
40+ """
41+
42+ # Validar un email
43+ email = 'usuario@dominio10.com'
44+ patron = r"^[a-zA-Z0-9_.+-]+@[a-zA-Z]+\.[a-zA-Z]+$"
45+ if re .match (patron , email ):
46+ print ('Email valido' )
47+ else :
48+ print ('Email invalido' )
49+
50+ # Validar telefono
51+ telefono = '+99(534)547-5561'
52+ patron = r'\+[0-9]+\([0-9]+\)[0-9]+\-[0-9]'
53+ if re .match (patron , telefono ):
54+ print ('Numero valido' )
55+ else :
56+ print ('Numero invalido' )
57+
58+ # Validar una url
59+ url = 'http://sample.info/?insect=fireman&porter=attraction#cueva'
60+ patron = r'^http[s]?://(www\.)?[\w-]+\.[a-zA-Z]{2,}$'
61+ if re .match (patron , url ):
62+ print ('Url valida.' )
63+ else :
64+ print ('Url invalida.' )
0 commit comments