Příklady

Regulární výrazy

SSŠVT


Příklady

Telefonní číslo

V kódu můžeme např. zkontrolovat, zda uživatel zadal platné telefonní číslo (platné v Česku nebo na Slovensku).

Poznámka: Nezapomeňte pro třídu Regex importovat její jmenný prostor: using System.Text.RegularExpressions;

// V konstruktoru předáváme regulární výraz.
Regex r = new Regex(@"^(\+420|\+421) ?[0-9]{3} ?[0-9]{3} ?[0-9]{3}$")
// Stříška na začátku a dolar na konci znamená, že řetězec, který vyhovuje tomuto regulárnímu výrazu, nemůže mít před začátkem tzv. "matching sekvence" nic navíc ani za koncem oné sekvence nemůže být nic dalšího.
// Telefonní číslo tedy musí začínat buď +420 (pro Česko), anebo +421 (pro Slovensko). Proto je tam to svislítko.
// Za předvolbou země může (ale nemusí) následovat mezera ( ?).
// Dále musí být tři číslice ([0-9]{3}).
// Dále opět bude (nebo nebude) mezera ( ?).
// Dále opět následují (povinně) tři číslice.
// Dále opět nepovinná mezera.
// A nakonec ještě jednou trojice číslic.

Console.WriteLine("Zadejte číslo: ");
string inputNumber = Console.ReadLine();
if (r.IsMatch(inputNumber))
{
    Console.WriteLine("Zadali jste platné telefonní číslo pro ČR nebo SR.");
}
else
{
    Console.WriteLine("Zadaný řetězec neodpovídá formátu telefonního čísla pro ČR nebo SR.");
}
        

Kód barvy v RGB systému pro HTML/CSS

V HTML se barva může zadat jako sekvence 3 bytů v hexadecimálním tvaru:
(00, 01, ..., 09, 0A, 0B, ..., 0F, 10, 11, ..., 90, 91, ..., 9F, A0, ..., FF)
Na začátku se uvede hash (#). Tedy například #FF00FF je kód pro červenofialovou (Fuchsia).

Hexadecimální číslice A až F lze zapsat velkými písmeny (A, B, C, ..., F), malými písmeny (a, b, c, ..., f).

Regex r = new Regex(@"^#([\da-fA-F]{2})([\da-fA-F]{2})([\da-fA-F]{2})$");
// Místo \d lze psát i [0-9], tedy:
//Regex r = new Regex(@"^#([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$");

Console.WriteLine("Zadejte 6místný hex kód pro barvu v RGB (na začátku se očekává znak #): ");
string inputRgb = Console.ReadLine();
if (r.IsMatch(inputRgb))
{
    Console.WriteLine("Zadali jste platný kód barvy v RGB systému pro HTML.");
}
else
{
    Console.WriteLine("Zadaný řetězec neodpovídá formátu pro kód barvy v systému RGB.");
}