Regex’e Giriş
Bugün birçok programcının ve hatta veri işleyen herkesin kurtarıcısı olan sayısal ve dizgesel içeriklerde belirli kurallara uyan bölümleri bulan ifadelerden yani Düzenli/Kurallı İfadelerden (Regex/RegExp/Regular Expressions) bahsedeceğiz.
Amerikalı matematikçi Stephen Cole Kleene tarafından 1950’li yıllarda tasarlanan bu kavram günümüzde oldukça yaygın olarak birçok işletim sistemi temelinde ve programlama dilinde entegre olarak gelmektedir.
Bir metin dizisi (string) içerisinde belirlediğimiz düzen/kurallar (pattern) ile eşleşenleri döndüren oluşumdur kısaca.
- Metin dizisi (string) – Arama yapılacak metin
- Düzen/kural (pattern) – Arama için kullanılacak kalıplar
- Eşleşen – Metin içerisinde düzenlere uyan sonuçlar (tekil ya da grup olabilir)
Ufak bir hatırlatma
Düzenli ifadelere makale boyunca kısaca regex, arama yapılacak metine string, kurala da pattern diyeceğim. Yukarıda da dediğim gibi bir çok işletim sistemi ve programlama diline entegre edildiğinde kullanımı farklılık göstermektedir. Başlıca kullanım şekilleri PCRE, ECMAScript, Python, Golang diyebiliriz. Ben aktif olarak C tabanlı diller (Perl, PHP, C++, C# vb.) kullandığım için PCRE (Perl Compatible Regular Expressions) ile makaleme devam edeceğim. Diğer diller için ufak tefek değişiklikler ile sorunsuz çalışacaktır.