Searching with RegEx /^.*$/ (Extra: phone and email regexes + TASK)
Regex bütün proqramlaşdırma dillərdində istifadə olunan “ortaq” patterndir. Ortaq dediksə də tam olaraq bütün dillərdə eyni deyil, məsələn, PHP, Perl, Java, .Net, Python, R, Rust və başqa dillərdə sintaksis bir-birindən azca fərqlənir. Amma gördüyü iş eynidir. Sonuçta işlevi daha önemli, değil mi? :)
Əvvəlcə, deyim ki, bu RegEx dərsi deyil, sadəcə məqalədir. Bacardığım qədər praktikada çox istifadə elədiyim regexləri sizinlə paylaşmağa və izah etməyə çalışacam. Mənim istiadə elədiyim dil JavaScript olduğu üçün kod nümunələrini elə JS üzərindən göstərəcəm. Adətən regex yazanda əvvəlcə baş verə biləcək bütün halları düşünürəm, sonra ona uyğun regex yazıb yaza bilməyəcəyimi düşünürəm. Regex yazarkən Regex101 saytından istifadə edirəm.
Regex motoru ifadəni icra edərkən birbəbir simvolların uyğunluğunu yoxlayır. Gəlin, verilmiş mətndə nömrələri tapmaq üçün yazdığım regexi göstərim və izah edim. Buradakı mətndə iki tip nömrə görürük: (050) 555 05–05 və səliqləi yazılmış +994 55 555 05 05. Bunların hər ikisini sadəcə bir regular expressionla tapmaq olar. Qaydalı ifadəni başa düşə biləcəyimiz dildə belə demək olar: (üstəgəl işarəsi gələ bilər)(994 gələ bilər)(1–3 ədəd boşluq, tire, mötərizə və ya başqa bir xarakter gələ bilər)(55 və ya 055 gələcək)(1–3 ədəd boşluq, tire, mötərizə və ya başqa bir xarakter gələ bilər)(555 gələcək)(1–3 ədəd boşluq, tire, mötərizə və ya başqa bir xarakter gələ bilər)(05 gələcək)(1–3 ədəd boşluq, tire, mötərizə və ya başqa bir xarakter gələ bilər)(05 gələcək). Daha sonra onu kod şəklində göstərmək lazımdır.
Bunu başa düşdünüzsə bir də e-poçt ifadəsinə baxaq. Burada birinci hissə username hissəsi olur və içində nöqtə, tire, aşağıdan tire və rəqəmlər ola bilir. Ardınca “@” işarəsi və domen və ya sub-domen sonra domen adı gəlir. Məsələn: gmail.com və ya code.edu.az kimi.
Bu qədər xanımlar və cənablar. İndi isə sizdən aşağıda göstərdiyim nömrələri tapa bilən bir regular ifadə yazmağınızı istəyəcəm. Bunu sadəcə şəxsi inkişafınız üçün edin. Google-dan istifadə tamamilə sərbəstdir. Bilməmək eyib deyil, Stackləməmək eyibdi 😃. Alınmasa mənə yazın, kömək etməyə hazıram. Axtaracağınız nömrələr: +994 22 254 99 99, (2224-73) 4-13, (012) 196, 196.
Məqaləni bəyəndinizsə 50 dəfəyə qədər clap etməyi və follow etməyi unutmayın. Bəyənmədinizsə iradlarınızı gözləyirəm 😊
Uğurlar!
Digər məqalələr: