Menu
Coddy logo textTech

Düzenli İfadeler Temelleri

Coddy'nin Java Journey'sinin Mantık & Akış bölümünün bir parçası — ders 46 / 59.

Düzenli İfadeler (regex), dizeleri aramak ve doğrulamak için kullanılan kalıplardır. Java'da, bir dizenin bir kalıpla eşleşip eşleşmediğini kontrol etmek için matches() yöntemini kullanırız.

Bir dizenin yalnızca rakamlardan oluşup oluşmadığını kontrol edin:

String text = "12345";
boolean isMatch = text.matches("[0-9]+");

Yukarıdaki kodu çalıştırdıktan sonra, isMatch şunları içerir:

true

Bir dizenin yalnızca harfler içerip içermediğini kontrol edin:

String text = "Hello";
boolean isMatch = text.matches("[a-zA-Z]+");

Yukarıdaki kodu çalıştırdıktan sonra, isMatch içerir:

true

challenge icon

Görev

Kolay

İki parametre alan validateInput adında bir metot oluşturun:

  1. Doğrulanacak bir String (text)
  2. Doğrulama türünü belirten bir String (type)

Metot, metni şu türlere göre doğrulamalıdır:

  • "number": sadece rakamlar (0-9) içermelidir
  • "word": sadece harfler (a-z veya A-Z) içermelidir
  • "email": @ içermeli ve ondan önce en az bir karakter olmalıdır
  • "phone": tam olarak 10 rakam içermelidir

Dönülecek mesajlar şunlar olmalıdır:

  • Eğer text null ise: "Invalid input" döndürün
  • Eğer type geçersiz ise: "Invalid type" döndürün
  • Eğer doğrulama başarılı ise: "Valid" döndürün
  • Eğer doğrulama başarısız ise: "Invalid" döndürün

Kopya kağıdı

Düzenli İfadeler (regex), dizgileri aramak ve doğrulamak için kullanılan desenlerdir. Java'da, bir dizenin bir desene uyup uymadığını kontrol etmek için matches() yöntemini kullanın.

Bir dizenin yalnızca rakamlardan oluşup oluşmadığını kontrol edin:

String text = "12345";
boolean isMatch = text.matches("[0-9]+");

Bir dizenin yalnızca harflerden oluşup oluşmadığını kontrol edin:

String text = "Hello";
boolean isMatch = text.matches("[a-zA-Z]+");

Yaygın regex desenleri:

  • [0-9]+ - bir veya daha fazla rakam
  • [a-zA-Z]+ - bir veya daha fazla harf
  • [0-9]{10} - tam 10 rakam
  • .+@.+ - önünde en az bir karakter olan @ içerir

Kendin dene

import java.util.Scanner;

public class Main {
    public static String validateInput(String text, String type) {
        // Buraya kodunuzu yazın
    }
    
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String text = scanner.nextLine();
        String type = scanner.nextLine();
        
        if (text.equals("null")) text = null;
        System.out.println(validateInput(text, type));
    }
}
quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

Mantık & Akış bölümündeki tüm dersler