🧩
← Rehberlere dön

Yeni Başlayanlar İçin Regex: Düzenli İfadeler Nasıl Yazılır

· Etiketler: regex-beginners, regular-expression-guide, regex-tutorial, regex-patterns, learn-regex

Yeni Başlayanlar İçin Regex

Düzenli ifadeler (regular expressions — regex), metni tanımlayan desenlerdir. Regex ile dizelerde arama yapabilir, girdi doğrulayabilir, veri çıkarabilir ve tek bir kompakt ifade kullanarak karmaşık bul ve değiştir işlemleri gerçekleştirebilirsiniz. Temel bilgileri anladığınızda, regex programlama araç setinizdeki en güçlü araçlardan biri haline gelir.

Düzenli İfade Nedir?

Bir regex, bir arama deseni tanımlayan karakter dizisidir. \d{3}-\d{2}-\d{4} deseni bir ABD Sosyal Güvenlik numarasını eşleştirir: üç rakam, tire, iki rakam, tire, dört rakam.

Regex motorları neredeyse tüm programlama dillerinde yerleşik olarak bulunur — JavaScript, Python, Java, Ruby, Go — hepsinde yerleşik destek vardır.

Sabit Karakterler

Çoğu karakter kendini eşleştirir. cat deseni, göründüğü her yerde "cat" dizesini olduğu gibi eşleştirir.

Pattern: cat
Matches: "cat" in "The cat sat on the mat."
Matches: "cat" in "catalog"

Sabit eşleştirme basittir ancak sınırlıdır. Asıl güç metakarakterlerden gelir.

Metakarakterler

Bu karakterler özel anlam taşır ve olduğu gibi eşleştirilmek için \ ile kaçış karakteri kullanılması gerekir:

. ^ $ * + ? { } [ ] \ | ( )

Karakter Sınıfları

Karakter sınıfları, bir kümeden bir karakter eşleştirir.

Köşeli Parantez Gösterimi

| Desen | Eşleşme | |---------|---------| | [aeiou] | Herhangi bir sesli harf | | [0-9] | Herhangi bir rakam | | [a-zA-Z] | Herhangi bir harf | | [^0-9] | Rakam OLMAYAN herhangi bir karakter |

Ön Tanımlı Sınıflar

| Kısaltma | Açıklama | |-----------|-------------| | \d | Herhangi bir rakam ([0-9] ile aynı) | | \w | Harf, rakam veya alt çizgi | | \s | Boşluk, sekme, satır sonu | | \D | Rakam olmayan herhangi bir karakter | | \W | Sözcük karakteri olmayan herhangi bir karakter | | \S | Boşluk olmayan herhangi bir karakter | | . | Satır sonu hariç herhangi bir karakter |

Niceleyiciler

Niceleyiciler, önceki öğenin kaç kez görünmesi gerektiğini kontrol eder.

| Niceleyici | Anlamı | Örnek | Eşleşme | |------------|---------|---------|---------| | * | Sıfır veya daha fazla | a* | "", "a", "aa" | | + | Bir veya daha fazla | a+ | "a", "aa", "aaa" | | ? | Sıfır veya bir | colou?r | "color", "colour" | | {3} | Tam olarak N | \d{3} | "123" | | {2,4} | N ile M arası | \d{2,4} | "12", "123", "1234" |

Örnekler

\d+     → "Answer is 42" içinde "42"
https?://  → "http://" ve "https://"

Çapalar

Çapalar, karakterleri değil konumları eşleştirir.

| Çapa | Anlamı | |--------|---------| | ^ | Dize başlangıcı | | $ | Dize sonu | | \b | Sözcük sınırı | | \B | Sözcük sınırı olmayan |

^hello   → "hello"yu yalnızca başlangıçta eşleştirir
end$     → "end"i yalnızca sonda eşleştirir
\bword\b → "word"ü tam bir sözcük olarak eşleştirir, "sword" içinde değil

Gruplar ve Alternatif

Yakalama grupları ( ) eşleşen kısımları çıkarır:

(\d{3})-(\d{4}) → "555-1234", grup 1'de "555", grup 2'de "1234" yakalanır

Yakalamayan gruplar (?: ) çıkarmadan gruplandırır:

(?:https?|ftp):// → "http://", "https://", "ftp://"

Alternatif | VEYA işlevi görür:

cat|dog|bird → "cat", "dog" veya "bird" ile eşleşir

Pratik Regex Örnekleri

| Kullanım Durumu | Desen | |----------|---------| | ABD telefonu | \d{3}-\d{3}-\d{4} | | E-posta (basit) | \S+@\S+\.\S+ | | IP adresi | \d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3} | | Hashtag | #[a-zA-Z]\w* | | Saat (SS:DD) | [01]\d|2[0-3]:[0-5]\d |

Regex Deseni Nasıl Test Edilir

Desenleri her zaman etkileşimli olarak test edin:

  1. Regex deseninizi girin.
  2. Bir test dizesi girin.
  3. Hangi kısımların gerçek zamanlı olarak eşleştiğini görün.
  4. Ayarlayın ve tekrarlayın.

Desenlerle deneme yapmak için regex test aracını kullanın. Eşleşmeleri vurgular, yakalama gruplarını gösterir ve ifadenizin her bir parçasının tam olarak ne yaptığını anlamanıza yardımcı olur.

Yeni Başlayanlar İçin Regex: Düzenli İfadeler Nasıl Yazılır - CoolTool