You are on page 1of 21

RegExp

RegExp nesnesi metin içinde belirli bir kalıpta metin


arar.

Notasyon İle Tanımlama


Notasyon ile / /’lar arasına aranmak istenen yazılır.
Son /’tan sonra flag’lar koyulur.

Yapıcı Metod İle Tanımlama


Yapıcı metod ilk parametre olarak aranacak ifadeyi
alır, ikinci parametre flag alır
Düzenli ifade kullanıcıdan alınan veriye göre
derleniyorsa bu yöntem daha uygun olabilir
RegExp Yapıcı Metodu
pattern ve flags parametrelerini alır.
 Pattern aynı zamanda başka bir RegExp nesnesi
olabilir.
 Flags, aranan ifadenin nasıl ayaranacağıyla ilgili
ayarlamalar yapar.(Arama yapılırken büyük-küçük
harf dikkate alınacak mı gibi)
 Eğer pattern olarak başka bir RegExp girilirse,
flag’lar o RegExp’nin flag’ları ile değiştirilir.

Eğer
 RegExp new kullanmadan çağrılırsa
 Pattern eğer başka bir RegExp ise
 Pattern doğrudan RegExp yapıcı metodu ile
oluşturulduysa
 Flag yoksa veya undefined ise doğrudan Pattern
return eder.
Diğer durumlarda RegExp nesnesi oluşturur.
s flag’ının kullanıldığını kontrol etme

Flag’lar
Flag’lar daha etkin aramalar yapmak için kullanılır.
Tüm eşleşmelere ulaşmak g
g flag’ı metindeki tüm eşleşmelere ulaşır. g flag yokken sadece
ilk eşleşme return edilir.
Büyük-küçük harf duyarını kaldırma i
Normalde eşleşmeler büyük küçük harfe göre yapılır. Küçük harf
büyük harf ile eşleşmez. i flag’ı ile ikisi de birbiri ile eşleşir.

Unicode karakterler ile eşleşme yapma u


u flag’ı unicode karakterler ile eşleşme yapar

Tüm flag’ları görme


g flag’ının kullanıldığını kontrol etme

d flag’ının kullanıldığını kontrol etme


i flag’ının kullanıldığını kontrol etme

m flag’ının kullanıldığını kontrol etme

y flag’ının kullanıldığını kontrol etme

u flag’ının kullanıldığını kontrol etme


v flag’ının kullanıldığını kontrol etme

Regular expression’u görme

Sonraki eşleşmenin index’ini bulma


Metnin başında arama yapma ^
^ işareti belirtilen ifadeyi metnin başında arar.
buggyMultiline = `tey, ihe light-greon apple
tangs on ihe greon traa`;

buggyMultiline = buggyMultiline.replace(/^t/gim, "h");

Metnin sonunda arama yapma $


$ işareti belirtilen ifadeyi metnin sonunda arar.

Başında veya sonunda harf, sayı ve _ olmayanlarla


eşleşir \b
Moon
\boo eşleşme olmaz çünkü o’dan önce M var
oo\b eşleşme olmaz çünkü o’dan sonra n var
Başında veya sonunda harf, sayı ve _ olanlarla
eşleşir \B
$ işareti
Bir ifadeden sonra belirli ifade gelenlerle eşleşme
X(?=y) X’ten sonra y geliyor ise X ile eşleşir
Bir ifadeden sonra belirli ifade gelmiyorsa eşleşme
x(?!y) x’ten sonra y gelmiyorsa ise x ile eşleşir
Bir ifadeden önce belirli ifade gelenlerle eşleşme
(?<=y)x x’ten önce y geliyor ise x ile eşleşir
Bir ifadeden önce belirli ifade gelmiyorsa eşleşme
(?<!=y)x x’ten önce y geliyor ise x ile eşleşir
Belirli karakterler arasından biriyle eşleşme yapma
[a-c], aranan karakter abc’den biriyse eşleşme olur
Birkaç seçenekten biri ile eşleşme |
| sembolü ile birden fazla eşleşme seçeneği
belirtilebilir.

[0-9], aranan karakter 0 1 2 3 4 5 6 7 8 9’den biriyse


eşleşme olur
Karakter aralığında olmayan karakterle eşleşme
yapma
[^a-c], aranan karakter abc’de değilse eşleşme olur
[^0-9], aranan karakter 0 1 2 3 4 5 6 7 8 9’den değilse
eşleşme olur
Herhangi bir tekil karakterle eşleşme
. (nokta), herhangi bir tekil karakterle eşleşir
/.y/ “yes make my day içinde “my” ve “ay” ile eşleşir
burada m ve a noktaya denk gelir. En baştaki y ile
eşleşmez çünkü öncesinde noktaya karşılık gelen bir
karakter yok.
Bir rakam ile eşleşme
\d işareti herhangi bir rakam ile eşleşir. [0-9] ile
aynıdır.
Rakam olmayan karakter ile eşleşme
\D işareti herhangi bir rakam ile eşleşir. [^0-9] ile
aynıdır.
Rakam olmayan karakter ile eşleşme
\D işareti herhangi bir rakam ile eşleşir. [^0-9] ile
aynıdır.
Rakam ve harflerden herhangi biriyle eşleşme
\w işareti herhangi bir rakam veya harf arasından
eşleşme yapar _ de dahildir. [A-Za-z0-9_] ile aynıdır
Rakam ve harflerden herhangi biri olmayan ile
eşleşme
\W işareti herhangi bir rakam veya harf arasından
eşleşme yapar _ de dahildir. [^A-Za-z0-9_] ile aynıdır
Tek bir boşlukla eşleşme
\s işareti tek bir boşlukla eşleşir
Boşluk olmayan bir karakterle eşleşme
\s işareti boşluk olmayan bir karakerle eşleşir.
Tab Boşluk ile eşleşme
\t tab boşluk ile eşleşir
Satırbaşı işareti ile eşleşme
\r satırbaşı işareti ile eşleşir
Yeni satıra geçme işareti ile eşleşme
\n yeni satıra geçme işareti ile eşleşir
Form besleme karakteri ile eşleşir
\f form besleme karakteri ile eşleşir
\b ile eşleşme
[\b] b ile eşleşir
\0 ile eşleşme
\0 null karakter ile eşleşir
Birkaç seçenekten biriyle eşleşme
x|y, x veya y’den biriyle eşleşir.
Eşleşmeleri kaydetme ve tekrar kullanma groups
(x) x ile eşleşir onu hafızasında tutar, bu sonuç tekrar
kullanılabilir. Böylece ifadeler daha kısa da olabilir.
Eşleşmeleri isim vererek kaydetme ve tekrar kullanma
(?<isim>x) x ile eşleşir ona isim’i atar ve onu
hafızasında tutar, bu sonuç tekrar kullanılabilir
sıfır veya daha fazla önceki karakter ile eşleşme
x* sıfır veya daha fazla devam eden x ile eşleşir
Bir veya daha fazla önceki karakter ile eşleşme
x+ bir veya daha fazla devam eden x ile eşleşir
Önceki eleman yoksa veya bir kere varsa eşleşir
x? x yoksa veya 1 kere varsa eşleşir.
Eşleşebilecek en erken şekilde eşleşme
*?x Normalde * ile son x’e kadar eşleşir. ? İle bulunan
ilk x’te durur.

Bir öğenin kaç tekrarıyla eşleşeceğini belirtmek


x{n} n tane x varsa eşleşir.
Bir öğenin eşleşeceği en az sayı belirtmek
x{n,} en az n tane x ile eşleşir.
Bir öğenin eşleşeceği en az ve en çok sayıyı belirtmek
x{n, m} en az n ve en çok m tane tane x ile eşleşir.

Metodlar
Eşleşme olup olmadığını kontrol etme test()
Test metodu eşleşme olursa true olmasa false return eder.

Eşleşmenin bilgilerini alma exec()


Exec metodu eşleşmeden, ilk eşleşmeyi, eşleşmenin
index’ini, grubu ve length’i array ile return eder.
metoduTüm eşleşmelerin return edilmesi için g flagı kullanılır
ve diğer eşleşmelere döngü ile erişilebilir.

RegExp’i string’e çevirme toString()


Bu metod ile regexp ifadeleri string’e çevrilir.

Eğer flag varsa onlar da return edilir.


Eşleşme olup olmadığını kontrol etme search()
Search() metodu eşleşme olursa eşleşmenin index’ini return
eder, eşleşmezse olmazsa -1 return eder.
g flag’ı burada kullanılamaz.

Parametre olarak regexp verip eşleşme bulma match()


Match() metodu parametre olarak regexp alır ve eşleşmenin
bilgilerini dizi olarak return eder. Eşleşme yoksa null return
eder.

Eğer g flag’ı varsa tüm eşleşmeleri return eder.


Parametre olarak regexp verip tüm eşleşmeleri bulma
matchAll()
matchAll() metodu parametre olarak regexp alır ve tüm
eşleşmenin bilgilerini dizi olarak return eder. Eşleşme yoksa
null return eder.
g flag kullanılmalıdır.
Tüm eşleşmelere döngü ile ulaşılabilir.
Sadece index’lerine ulaşma

İlk eşleşmenin değerini değiştirme replace()


replace() metodu eşleşen öğeyi belirtilen öğe ile değiştirir.
Yeni bir string return eder.
Eğer g flag’ı varsa tüm eşleşmeleri değiştirir yoksa ilk
eşleşmeyi değiştirir.
Tüm eşleşmelerin değerini değiştirme replaceAll()
replaceAll() metodu g flag’ı ile birlikte kullanılır ve tüm
eşleşmerin değerini değiştirir.

Eğer g flag’ı yoksa TypeError verir

Metinleri ayrıştırıp dizi olarak alma split()


Split metodu ifadeleri belirtilen string ya da regex’e göre
ayrıştırır ve dizi olarak return eder.
Limit parametresi ile kaç tane ayrıştırılacağı belirtilir.

You might also like