Expresiones Regulares en .NET C#

Jul 05, 2012 4 Comments by

Las expresiones regulares (para los amigos regex) son una herramienta muy potente en el mundo del desarrollo, están presentes en la mayoría de los lenguajes modernos e incluso en comandos clásicos como grep y find.

Como no, en .NET, disponemos de un package dedicado a las expresiones regulares, lo podemos “importar” desde System.Text.RegularExpressions.

Validación (match)

Es una de la tareas más fundamentales en cualquier sistema, consiste en validar si un dato (String) valida respecto a cierto patrón, ejemplo, si representa a un número de teléfono, e-mail, etc.

El siguiente ejemplo, valida los elementos del arreglo contra el patrón fecha y email (pt_email), usando Regex.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;

namespace ExampleRegularExpression
{
    class Program
    {
        static void Main(string[] args)
        {
            String[] inputs = { "2012/05/30", "info@deerme.org","I am little string" };

            Regex rgdate = new Regex("^\\d{4}/\\d{2}/\\d{2}");
            Regex rgemail = new Regex("^[\\w-.]+@([\\w-]{2,}\\.)*([\\w-]{2,}\\.)[\\w-]{2,4}$");

            foreach (String data in inputs)
            {

                // Date
                if (rgdate.IsMatch(data))
                {
                    Console.WriteLine("The string '"+ data +"' is a date valid");
                }
                // Email
                if (rgemail.IsMatch(data))
                {
                    Console.WriteLine("The string '" + data + "' is a email valid");
                }
            }
            Console.ReadKey();
        }
    }
}

Extraer (extract)

La extración de datos es otra tarea muy común de resolver a través de las expresiones regulares. Vamos a realizar un pequeño ejemplo que extrae el valor de la UF (Unidad de Fomento en Chile) y el dólar observado desde el sitio web www.df.cl (diario financiero).

… Actualizando el árticulo …

.NET C#

About the author

Ingeniero en Informática, Oracle Certified Master Java EE 6 Enterprise Architect, Oracle Certified Professional Java Programmer. Experto en distintas ramas de la computación y otras "yerbas" xD. Si te gusto este post, sígueme en @deerme_org, escríbeme a info AT deerme.org o contactame por linkedin.

4 Responses to “Expresiones Regulares en .NET C#”

  1. juanca says:

    necesito la terminacion de este articulo!!! xd

  2. Roberto Sáez says:

    Está bueno, vamos que si lo completas fijo lo agrego a mi lista de favoritos!
    Saludos!

  3. patricio says:

    Estimado muchas gracias por el artículo. Esto mismo lo puedo aplicar a un proyecto sqlserver en .net?? Lo que quiero es extraer la numeración de las direcciones postales de una base de datos.

  4. deerme.org says:

    Hola Patricio

    En teoría podrías extraer las direcciones con queries y TSQL directamente en tu DB. Tambien podrias crear una aplicación en .NET que se conecte a tu DB y luego extraer los datos necesarios o usar un ETL para la extración de datos en base a Script Component o otros elementos en un proyecto Integration Services Project (en SQL Server Business Intelligence Development Studio).

    Lo importante es que analices el tiempo que te puede tomar extraer esos datos y que tome las decisión más acorde.

    Saludos

Leave a Reply


+ 6 = seven