Dajmy na to, że ktoś stworzył walidację dla maila. Zapisał wzorzec w takiej postaci:
const string regexPattern =
@"\b(?<name>[A-Za-z0-9._%+-]+)@(?<domain>([A-Za-z0-9-]+\.)+[A-Za-z]{2,4})\b";
W takiej postaci ciężko jest (przynajmniej dla mnie) ciężko wywnioskować co może przedstawiać dany wzorzec. Proponuje inną postać zapisu takiego stringa: #region RegExs
const string regexPattern = @"
\b #znak początku wyrazu
(?<name> #początek grupy [name]
[A-Za-z0-9._%+-] #dozwolone znaki w nazwie loginu
+ # 1..* wcześniejszych znaków
) #zakończenie grupy name
@ #małpa
(?<domain> #początek grupy [domain]
( #początek sub-domeny
[A-Za-z0-9-]+ #nazwa członu sub-domeny
\. #kropka między członami sub-domen
) #koniec sub-domeny
+ # 1..* członów sub-domen
[A-Za-z] #dozwolone nazwy w top-level-domain
{2,4} # 2..4 wcześniejszych znaków
) #zakończenie grupy doamin
\b #znak końca wyrazu
";
#endregion
Tak zapisany regex jest lepiej opisany. - Wiemy w jakim przedziale przedstawia się dana grupa
- Szybko zauważamy nazwy grup
- Mamy opisane wszystkie symbole
- Znamy dozwolone znaki
- Obszar wzorców jest zapisany w regionie, więc możemy go ukryć
Brak komentarzy:
Prześlij komentarz