Skip to content

Commit c2e1e6c

Browse files
authored
Merge pull request mouredev#5235 from Andreavzqz/patch-19
#16 - C#
2 parents 0ed2cad + bd1f4ee commit c2e1e6c

File tree

1 file changed

+76
-0
lines changed

1 file changed

+76
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
using System;
2+
using System.Collections.Generic;
3+
using Systeme.Text.RegularExpressions;
4+
5+
6+
namespace ExpresionesRegulares
7+
{
8+
class Program
9+
{
10+
11+
static void Main(string[] args)
12+
{
13+
14+
// Ejemplo de texto con números
15+
string texto = "Mi número de telefono es: 123456789 y mi correo es: [email protected]. Hoy es 31/07/2024";
16+
17+
// Expresion regular para encontrar números
18+
string patronNumeros = @"\d+";
19+
List<string> numerosEncontrados = new List<string>();
20+
21+
foreach(Match match in Regex.Matches(texto, patronNumeros))
22+
{
23+
numerosEncontrados.Add(matches.Value);
24+
}
25+
26+
Console.WriteLine("Números encontrados:");
27+
foreach(string numero in numerosEncontrados)
28+
{
29+
Console.WriteLine(numero);
30+
}
31+
32+
33+
// Difucultad extra
34+
string email = "[email protected]";
35+
string telefono = "+34 123456789";
36+
string url = "https://www.example.com";
37+
38+
string patronEmail = @"^[\w\.-]+@[a-zA-Z\d\.-]+\.[a-zA-Z]{2,}$";
39+
string patronTelefono = @"^\+?\d{1,4}?[\s.-]?\(?\d{1,4}?\)?[\s.-]?\d{1,4}[\s.-]?\d{1,4}[\s.-]?\d{1,9}$";
40+
string patronUrl = @"^https?://([\w-]+(\.[\w-]+)+)([/\w- ./?%&=]*)?$";
41+
42+
43+
Console.WriteLine($"\nEmail '{email}' es válido: {Regex.IsMatch(email, patronEmail)}");
44+
Console.WriteLine($"Teléfono '{telefono}' es válido: {Regex.IsMatch(telefono, patronTelefono)}");
45+
Console.WriteLine($"URL '{url}' es válida: {Regex.IsMatch(url, patronUrl)}");
46+
}
47+
}
48+
/*
49+
50+
51+
Explicación
52+
53+
Extracción de Números del Texto:
54+
Se define un texto con varios números incrustados.
55+
Se utiliza una expresión regular \d+ para encontrar secuencias de dígitos. \d representa cualquier dígito y + indica una o más ocurrencias.
56+
Regex.Matches se utiliza para encontrar todas las coincidencias en el texto. Los números encontrados se almacenan en una lista y se imprimen.
57+
58+
Validaciones Adicionales:
59+
60+
Validación de Email:
61+
La expresión regular ^[\w\.-]+@[a-zA-Z\d\.-]+\.[a-zA-Z]{2,}$ valida un formato de email básico.
62+
^[\w\.-]+ corresponde al nombre del usuario, @ es el carácter que separa el nombre del dominio, [a-zA-Z\d\.-]+\.[a-zA-Z]{2,}$ valida el dominio.
63+
64+
Validación de Número de Teléfono:
65+
La expresión regular ^\+?\d{1,4}?[\s.-]?\(?\d{1,4}?\)?[\s.-]?\d{1,4}[\s.-]?\d{1,4}[\s.-]?\d{1,9}$ valida números de teléfono con varios formatos.
66+
Esta expresión permite un prefijo de código de país opcional con un +, seguido de una combinación de números y separadores como espacios, puntos o guiones.
67+
68+
Validación de URL:
69+
La expresión regular ^https?://([\w-]+(\.[\w-]+)+)([/\w- ./?%&=]*)?$ valida URLs.
70+
^https?:// asegura que la URL comienza con http o https.
71+
([\w-]+(\.[\w-]+)+) valida el nombre de dominio.
72+
([/\w- ./?%&=]*)?$ valida la ruta y los parámetros adicionales.
73+
74+
75+
*/
76+
}

0 commit comments

Comments
 (0)