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
Görev
Kolayİki parametre alan validateInput adında bir metot oluşturun:
- Doğrulanacak bir String (
text) - 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));
}
}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
1Çok Boyutlu Diziler
2D Diziler Temelleri2D Dizi Elemanlarına Erişim2D Dizilerle İç İçe DöngülerÖzet - 2D DizilerMatris Toplama ve ÇıkarmaJagged Diziler3D Diziler ve ÖtesiYaygın 2D Dizi DesenleriÖzet - Diziler Hakkında Her Şey2HashMap Bölüm 1
HashMap Nedir?HashMap TanımlamaDeğerlere ErişimAnahtarın Varlığını Kontrol EtmeSözlükleri DeğiştirmeÖzet - HashMap5HashSet Kısım 2
Matematik - HashSet'lerin BirliğiMatematik - HashSet KesişimiMatematik - Küme FarkıMatematik - Simetrik FarkAlt Kümeler ve Üst KümelerKümeler Üzerinde Yineleme8Gelişmiş Dize İşlemleri
StringBuilder TemelleriStringBuffer'e GirişDüzenli İfadeler TemelleriRegex ile Desen EşleştirmeDize AyrıştırıcısıGelişmiş Dize Biçimlendirme3HashMap Bölüm 2
HashMap YöntemlerikeySet() ile YinelemeentrySet() ile Yinelemeİç İçe HashMapÖzet - Depo YönetimiÖzet - HashMap İşlemleri6İleri Akış Kontrolü
Etiketli İfadelerSwitch İfadesiDesen EşleştirmeKoruyucu Yan CümlelerÖzet - Akış Kontrolü9Proje - Benzersiz Kelime Sayacı
Metin Girişi ve DepolamaKelime İşleme