1+ ############################################ EXPRESIONES REGULARES ############################################################
2+
3+ import re # Módulo para tratamiento de expresiones regulares
4+
5+ my_string = "El señor Daniel tiene 3 hijos y 5 esposas, además ha sido agraciado con 1000 €"
6+ my_other_string = "A 4 vecinos de la comunidad en el bloque nro. 2 le han tocado 100.000 $ de la lotería"
7+
8+ def extract_numbers_from_text (text : str ) -> list :
9+
10+ pattern = r"\d+" # Busca cualquier número entero
11+
12+ return re .findall (pattern = pattern , string = text )
13+
14+ str_list = [my_string , my_other_string ]
15+
16+ for phrase in str_list :
17+ matches = extract_numbers_from_text (text = phrase )
18+
19+ if matches :
20+ print (f"En la frase '{ phrase } ' se encontraron los siguientes números: { matches } " )
21+
22+
23+ ############################################## EXTRA ###################################################################################
24+
25+ def validate_email (email : str ) -> bool :
26+
27+ pattern = r"^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-z]{2,}$"
28+
29+ if re .match (pattern = pattern , string = email ):
30+ return True
31+ else :
32+ return False
33+
34+ my_fake_email = "root.srisemipresencial.com"
35+ my_trusted_email = "[email protected] " 36+
37+ print (validate_email (my_fake_email ))
38+ print (validate_email (my_trusted_email ))
39+
40+ def validate_phone_number (phone : str ) -> bool :
41+
42+ pattern = r"^\+?[1-9]\d{1,3}[-.\s]?\d{1,4}[-.\s]?\d{3,4}[-.\s]?\d{3,4}$"
43+
44+ if re .match (pattern = pattern , string = phone ):
45+ return True
46+ else :
47+ return False
48+
49+ my_fake_phone = "+1234567890"
50+ my_trusted_phone = "+1 234 567 890"
51+ my_trusted_phone_2 = "+123456789"
52+
53+
54+ print (validate_phone_number (my_fake_phone ))
55+ print (validate_phone_number (my_trusted_phone ))
56+ print (validate_phone_number (my_trusted_phone_2 ))
57+
58+ def validate_url (url : str ) -> bool :
59+
60+ pattern = r"^(https?:\/\/)?([a-zA-Z0-9-]+\.)+[a-zA-Z]{2,}(:\d+)?(\/[^\s]*)?$"
61+
62+ if re .match (pattern = pattern , string = url ):
63+ return True
64+ else :
65+ return False
66+
67+ my_fake_url = "http://www.google"
68+ my_trusted_url = "https://www.google.com"
69+ my_trusted_url_2 = "www.google.com"
70+ my_trusted_url_3 = "http://www.google.com"
71+
72+ print (validate_url (my_fake_url ))
73+ print (validate_url (my_trusted_url ))
74+ ############################################## FIN EXTRA ###################################################################################
75+
76+
77+
78+
79+ ############################################ FIN EXPRESIONES REGULARES ############################################################
0 commit comments