Regex
- Kotlin kursu
- Başlangıç
- Ders 88/116
- 5 dk
Regex ile düzenli ifadeler öğrenirsin.
Regex: desenlerle eşleştirme
Kotlin'de Regex sınıfı bir metni desenle eşleştirir. Desen, özel sembollerle yazılmış bir dizedir: \d rakam, \w harf rakam alt çizgi, + bir veya fazla, * sıfır veya fazla demektir.
val rakamlar = Regex("\\d+")
val sonuc = rakamlar.matches("12345")
// trueDize içinde ters bölü kaçışlamak için iki tane yazılır. Ham dize kullanırsan tek ters böl yeterli olur. Regex; telefon, e-posta ya da tarih gibi yapıları doğrulamak için idealdir.
Regex sınıfını kullanma
Bir Regex nesnesi Regex(desen) biçiminde oluşturulur. Aynı deseni birden çok kez kullanacaksan değişkene ata ki her seferinde derlenmesin.
val telefon = Regex("\\d{3}-\\d{4}")
println(telefon.matches("555-1234"))
// trueDesen içinde {n} tam n kez, {n,m} en az n en çok m kez demektir. Böylece sabit uzunluktaki desenleri rahatça yazarsın. Deseni bir kez tanımla, sonra istediğin kadar eşle.
Uygulama Regex ile sına
Bir veya daha fazla rakamı eşleştiren bir Regex tanımla. "2024" dizesini matches ile sına ve sonucu yazdır.
Başlangıç kodu
fun main() {
// Bir Regex tanımla: bir veya daha fazla rakam
// "2024" dizesini matches ile sınayın
}Örnek çözüm
val r = Regex("\\d+")
println(r.matches("2024"))Beklenen çıktı
true
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Desen ve anlam eşleştir
| Kavram | Anlamı |
|---|---|
\d |
Rakam |
\w |
Harf rakam alt çizgi |
+ |
Bir veya fazla |
* |
Sıfır veya fazla |
2 Boşluğu doldur: Regex tanımla
val r = ____("\\d+")
val r = Regex("\\d+")
Açıklama: Regex(desen) biçiminde yeni bir desen nesnesi oluşturulur.
3 Hangi desen 'abc123' dizesindeki rakamları yakalar?
val r = Regex("\\d+")- \d?
- \w-
- [abc]+
- \d+ Doğru cevap
Açıklama: \d+ bir veya daha fazla rakamı eşleştirir.