Wyrażenia regularne w języku C#

Wyrażenia regularne - wzorce opisujące łańcuchy.


Wyrażenia regularne to wzorce, które opisują łańcuchy symboli. Przy pomocy wyrażeń regularnych możemy wyodrębnić z dowolnego tekstu lub kodu interesujące nas części. Wyrażenia regularne są tak jakby nakładane na łańcuchy znaków w celu odnalezienia pasujących fragmentów tekstu.

Wyrażenie regularne składa się z dwóch typów znaków:

  • literał - czyli znak, który chcemy znaleźć w łańcuchu znaków,
  • metaznak - znak specjalny, który jest informacją dla analizatora wyrażenia regularnego.

Wykaz wybranych, najważniejszych symboli (Rys. 2.15):

symbole w yrazeniach regularnych

Przykładowy kod programu sprawdzającego poprawność adresu email:

class Program
{
    static void Main(string[] args)
    {
            Regex regEmail;
            regEmail = new Regex(@"^[a-z][a-z0-9_]*@[a-z0-9]*\.[a-z]{2,3}$");
 
            string napis = Console.ReadLine();
 
            // podany przez użytkownika
            Console.WriteLine(
                String.Format("{0} podany adres to {1}poprawny adres email", napis,
                                regEmail.IsMatch("napis") ? "" : "nie"));
 
            // niepoprawny
            Console.WriteLine(
                String.Format("{0} to {1}poprawny adres email", "email@wp.1234",
                                regEmail.IsMatch("email@wp.1234") ? "" : "nie"));
 
            Console.ReadKey();
    }
}
W powyższym programie została użyta biblioteka Regex oraz operator trójargumentowy, który w zależności od poprawności adresu email dodaje przedrostek "nie" do słowa "poprawny".

Więcej informacji na temat wyrażeń regularnych:

http://msdn.microsoft.com/en-us/library/system.text.regularexpressions.regex.aspx
http://msdn.microsoft.com/en-us/library/System.Text.RegularExpressions.aspx
Komentarze facebook (polub nasz profil na FB aby je zobaczyć):