Düzenli İfadeler - Özet Tablo

Düzenli İfadeler Özet Tablosu (Regular Expressions Cheat Sheet)

Sabitleyiciler / Sınırlayıcılar

Simge Desen Açıklaması Örnek Desen Eşleşen Örnek Açıklama
^ Çok satırlı desende ya da bir karakter dizisinin başlangıç verisini belirtir. ^rec recep Sadece kendinden sonra gelen BİR karaktere BAKMIYOR. Desenin tümüne bakıyor. Farklı Paragraflarda arama yapar.
\A Sadece karakter dizisinin (Dizenin) başlangıcını belirtir. \Ar ramazan Sadece Kelime dizisinde arama yapar, paragrafa bakmaz.
$ Çok satırlı desenin ya da dizelerin nasıl biteceğini belirtir. zan$ ramazan Sadece kendinden önceki BİR karaktere BAKMIYOR, tüm desene bakıyor.
\Z Karakter dizisinin nasıl biteceğini belirtir. an\Z ramazan Kelime, kendinden önceki desen (an) ile bitmeli.
\b Kelime başlangıcını belirtir \bman manzara Kelimenin man ile başlaması gerektiğini belirtiyor.
\b Kelime bitimini belirtir man\b zaman Kelimenin man ile bitmesi gerektiğini belirtiyor.
\b Kelime kesin sınırını belirtir \bHalil\b "Halil.", "(Halil)" ve "adım Halil demiştim." Karakter dizini içinde tam kelime eşleşmesi arar. Halili kelimesi desen ile eşleşmez çünkü kelime içinde başka harf te bulunuyor. Noktalama işaretleri, parantez,...vb karakterler harf olmadığı için sorun oluşturmuyor.
\B \b nin tam tersidir. 'py\B' "python, py3, py2" py içeren ancak py ile BİTMEYENLERİ göster demiş olduk. "py," , "py." ve "py!" ile eşleşmez
\B \b nin tam tersidir. \B...\B şeklinde kullanımına dair örnek '\Ber\B' "Sertaç" er ibaresi kelimenin içinde olacak ancak başında ve sonunda OLMAYACAK. "erkek,", seher, ve "şeker" kelimeleri eşleşmez, çünkü bu kelimeler er ibaresi kelimelerin başında ya da sonunda bulunuyor. Sadece içinde er ibaresi olan kelimeler eşleşir.

Karakter Türleri

Simge Desen Açıklaması Örnek Desen Eşleşen Örnek Açıklama
. herhangi bir tek karakterle eşleşir "öz.an" özcan, özkan, özhan öz ile başla ardından herhangi BİR karakter gelsin an ile bitsin.
\d herhangi bir rakamla (digit) eşleşir "\d{2}" 41, 60, 65 2 tane rakam yanyana gelsin.
\D rakam olmayan herhangi bir karakterle eşleşir "-\D" -A, -$ Tire (-) olsun ardından rakam olmayan bir karakter gelsin.
\w herhangi bir kelime karakteriyle (word) eşleşir (alfanümerik karakterler ve alt çizgi). "\w{3}" TR_ , 015 , Vn4 [a-zA-Z0-9_] ifadesine eşittir.
\W alfanümerik karakterler ve alt çizgi dışındaki karakterlerle eşleşir "\d\W" 9&, 1+, 3] \w 'nin tersidir. [^a-zA-Z0-9_] ifadesine eşittir.
\s herhangi bir (space) boşluk karakteriyle (boşluk, sekme, yeni satır vb.) eşleşir. "\d\s\w" 5 W, 7 a Bir rakam, ardından bir boşluk ve son olarak alfanümerik karakter ile eşleş.
\S boşluk karakteri (boşluk, sekme, yeni satır vb.) dışında karakterle eşleşir. "\d+\S\w+" 2Nisan, 1-Ocak \s 'nin tersidir. Başta Rakam olsun, sonrasında Boşluk dışında bir karakter gelsin ve onu bir veya daha fazla alfanumerik karakter takip etsin.
\metacharacter Metakarakterle eşleşecek bir karakterle eşleşir. "\d\.\w+" 3.14, 6.Mart \. ifadesi nokta karakteri arar. \\ ifadesi \ karakterini arar.

Karakter Sınıfları

Simge Desen Açıklaması Örnek Desen Eşleşen Örnek Açıklama
[xy] Köşeli parantez içindeki her bir karakteri eşleştirir. h[au]y hay, huy
[x-y] - ile belirtilen karakter aralığındaki her bir karakteri eşleştirir. se[h-r]+ seher, sertaç se 'den sonra h ile r arasındaki tüm harfler gelebilir.
[^xy] ^ simgesi köşeli parantez içinde kullanıldığında HARİÇ TUT anlamına gelir. se[^h-m]+ sertaç se 'den sonra h ile m arasındaki hiçbir harfler GELEMEZ
[^.] Karakter sınıfı içindeki metakarakterleri eşleştir. .+[.^] 2.345, 3^2, py. İçinde . (nokta) ya da ^ (şapka) işareti olan ifadeyle eşleşir. Köşeli parantez dışında meta karakterleri eşleştirirken kaçış dizisi olan ters taksim \ sembolü kullanılmalı. Örneğin \.

Tekrar / Yineleme / Kopya

Simge Desen Açıklaması Örnek Desen Eşleşen Örnek Açıklama
* Kendinden önce gelen karakteri SIFIR veya DAHA FAZLA sayıda eşleştirir. sa*t st, sat, saat, saaat a karakteri hiç olmasada, birden fazla kez olsa da olur.
+ Kendisinden önce gelen karakteri BİR veya DAHA FAZLA sayıda eşleştirir. .+met ahmet, mehmet met karakter dizisinden önce BİR veya DAHA FAZLA karakter bulunsun.
? Kendisinden önce gelen karakterin SIFIR veya BİR defa eşleştirir. sa?t st, sat a karakteri ya HİÇ olmasın ya da BİR tane olsun.
{} Bir eşleşmeden kaç adet istediğimizi belirtebiliyoruz. sa{3}t saaat a karakteri 3 kez tekrar etsin
{x,} Bir karakterin en az kaç kez tekrar etmesini istediğimizi belirtebiliriz sa{2,}t saat, saaat a karakteri 2 ve daha fazla tekrar etsin.
{x,y} Bir karakterin en az ve en çok kaç kez tekrar etmesini istediğimizi belirtebiliriz sa{1,2}t sat, saat a karakteri en az BİR, en fazla İKİ kez bulunsun.

Gruplama, Yakalama, değiştirme ve geri referanslar

Simge Desen Açıklaması Örnek Desen Eşleşen Örnek Açıklama
(x) Bir deseni gruplamak için kullanılır \w+(li)+\w+ ali, halil, halili (li)+ ile birden fazla karakteri grup olarak ayarlayıp, li ifadesinden birden fazla var mı? ya da (li){3} deseni ile li ifadesinden peşpeşe 3 tane var mı? diye aratabiliyoruz.
(?:x) Yakalamadan grup oluşturur. (?:us)(ta) Mustafa us ifadesini group() metodunu kullanarak yakalayamayız. group() = group(0) yani tüm eşleşmeyi yazdırır. group(1) ifadesi ta yı işaret eder, yani ilk eşleşmeyi.
(?P<isim>x) Adlandırılmış bir yakalama grubu oluştur (?P\\d{2})(?P\\d{2}) Eşleşen: 1325, "birinci": 13, "ikinci": 25 ..group(1) yerine, ...group("birinci") yazarak eşleşme bölümlerine ulaşılabilir. Dikkat edin adlar, group() metodu içerisine çift tırnak içinde yazılmalı.
(x\|y) Düzenli ifade kalıplarını gruplar. a(b\|l)i ali, abi a'dan sonra b ya da l gelsin, desen i ile bisin
(x-y) Düzenli ifade kalıplarını bir aralık dahilinde gruplar. (a-g)lim alim, elim desen a ile g arasındaki tüm harflerle başlasın, lim ifadesi ile bitsin.

Kaynak: