GUI (Grafiksel Kullanıcı Arayüzü)
Regexp (Kurallı İfadeler)
Regular Expressions (Regexp), modern programlama dillerinin neredeyse hepsinde bulunan metinsel ifadelerinizin yapısını kontrol etmenizi sağlayan bir pakettir.
Bu paket sayesinde yazdığımız programda ifadelerin uygunluğunu kontrol edebilir, işimize yarayacak ifade/ifadeleri daha kolay ayırabilir ve giriş yapılan ifadeleri uygun bir düzene koyabiliriz.
Örneğimizi görelim
1
package main
2
3
import (
4
"fmt"
5
"regexp"
6
)
7
8
func main() {
9
var isimKontrol = regexp.MustCompile(`^[a-z]+[0-9] Regexp (Kurallı İfadeler) - Go Programlama Dili )
10
11
fmt.Println(isimKontrol.MatchString("kaan10")) //false
12
fmt.Println(isimKontrol.MatchString("emir6")) //true
13
fmt.Println(isimKontrol.MatchString("gokhan")) //false
14
fmt.Println(isimKontrol.MatchString("Altan2")) //false
15
fmt.Println(isimKontrol.MatchString("8erkay")) //false
16
}
Copied!
Öncelikle yukarıdaki işlemleri yapabilmemiz için, projemizde "regexp" paketini çağırmamız gerekiyor.
isimKontrol adında bir değişken oluşturduk ve bu değişkenimizde MustCompile() fonksiyonu ile metinsel ifademizin kurallarını belirledik.
Belirlediğimiz kural ise dizgimizin küçük harflerle a'dan z'ye kadar ve ek olarak 0'dan 9'a kadar "rakamsal" ifade alabileceğidir. Bu kurala uyulması için metinsel ifade ne eksik ne fazla hiçbir şey olmaması gerekir.
Kuralımızın hemen aşağısındaki örnekte ise "kaan10" ifadesinde sadece 0-9 arası rakam (tek haneli) olması gerektiği için false çıktısını verdi.
"emir6" ifade belirttiğimiz kurala uygun bir ifade olduğu için true çıktısını verdi.
"gokhan" ifadesi içerisinde sayı barındırmadığı için false çıktısını verdi.
"Altan2" ifadesi büyük harf ile başladığı için false çıktısını verdi.
"8erkay" ifadesi ise rakam sonda olması gerekirken başta olduğu için false çıktısını verdi.
Bu yazıda regexp nasıl yazılırdan ziyade Go'da regexp'in kullanımını anlatmak istediğimden bu kısmı kısa tutuyorum. Regexp'in nasıl yazıldığına göz atmak isteyenler için aşağıda linkini paylaşıyorum. Buyursunlar:
Regex (Regular Expressions) Nedir?
Bu güzel anlatım için Ceyhun Enki Aksan'a ayrıca teşekkür ederim.
Last modified 10mo ago
Copy link