Düzenli ifadeler
Metne karşı çalışan kalıba düzenli ifade denir. /tea/ yalnızca tea geçiyor mu diye bakar. replace o yere mint konmuş yeni bir dize döndürür. Bu sayfada note değeri Order: tea olur, satır ise true / Order: mint diye okunur.
Harita saklardı, bu sayfa arar
Harita sayfası lida / mint / 2 ile bitmişti. Orası saklamaydı. Burada bir konuk saklanmaz. Bir dizenin içi aranır. Arama tutmazsa false veya null döner, hata fırlatılmaz.
Kalıp içeride oturuyor mu
i bayrağı büyük-küçük harfi bırakır, dolayısıyla /tea/i ile Tea eşleşir. Kalıp mint tea içinde durduğu için /tea/.test("mint tea") true olur. lemon onu taşımaz, bu yüzden /tea/.test("lemon") false olur.
console.log(/tea/.test("mint tea"));
console.log(/tea/.test("lemon"));
Kayıt önce true, sonra false gösterir. Nokta, satır sonu olmayan tek bir karakteri tutar; bu yüzden /t.a/ de tea ile eşleşir. Gerçek nokta ters eğik çizgi ve nokta olarak yazılır: .
Bütün diziyi istemek
^ başlangıçtır, $ bitiştir. /^tea$/ tea kabul eder, mint tea reddeder. Bu işaretler yoksa /tea/ daha uzun bir notun içinde de başarılı olur.
console.log(/^tea$/.test("tea"));
console.log(/^tea$/.test("mint tea"));
Kayıt true, ardından false. Harfler mint tea içinde var, ama metin yalnızca tea değil.
Her kopya, sonra yeni bir dize
g bayrağıyla match her kopyayı döndürür. replace g ile her kopyayı değiştirir ve yeni bir dize verir. Sonucu atayana kadar note durur.
const note = "tea and tea";
console.log(note.match(/tea/g));
console.log(note.replace(/tea/g, "mint"));
console.log(note);
match kaydı, iki tea dizesinden oluşan bir dizidir. replace kaydı mint and mint olur. Üçüncü kayıt hâlâ tea and tea, çünkü replace note değerini değiştirmedi. g olmadan yalnızca ilk tea değişir. Hiç eşleşme yoksa match boş dizi değil null döndürür.
Cevabın biçimi yöntemi seçer
Yöntemi, istediğin cevabın biçimine göre seç.
📊 Her yöntem ne döndürür
| Yöntem | Cevabın biçimi | Bu notta |
|---|---|---|
/tea/.test(note) |
true veya false | Order: tea için true |
note.match(/tea/) |
tek eşleşmeli bir dizi veya null | tea sözcüğü ve yeri |
note.match(/tea/g) |
her kopya veya null | tea and tea içinde iki kopya |
note.replace(/tea/, "mint") |
yeni bir dize | Order: mint |
test evet ya da hayırdır. match parçaları verir. replace yeniden yazılmış metni verir. Onu saklamak istiyorsan ata.
Sayfa iki sonucu da yazar
Sayfa Order: tea değerini sınar, içeceği değiştirir ve iki sonucu da yazar.
<!DOCTYPE html>
<html>
<body>
<p id="line">…</p>
<script>
const note = "Order: tea";
const found = /tea/.test(note);
const next = note.replace(/tea/, "mint");
document.querySelector("#line").textContent = found + " / " + next;
</script>
</body>
</html>
Satır true / Order: mint diye okunur. note kendisi hâlâ Order: tea. lida / mint / 2 harita sayfasıydı.
Beş kısa adım
- mint tea değerini /tea/ ile sına. Sonuç true.
- lemon değerini /tea/ ile sına. Sonuç false.
- mint tea değerini /^tea$/ ile sına. Sonuç false.
- tea and tea değerini /tea/g ile eşleştir. Dizinin uzunluğu 2.
- Sayfayı oku. Satır true / Order: mint.
Yanlışlar ve akılda kalacaklar
^ ve $ yoksa kalıp bir parçayla eşleşir, notun tamamıyla değil. replace özgün metni düzenlemez.
- match bir şey bulamadığında null.length okuma
- replace işleminin note değerini yerinde değiştirmesini bekleme
- test ile yeniden kullanacağın ifadeye g koyma, çünkü durduğu yeri hatırlar
- gerçek noktayı ters eğik çizgi ve nokta olarak yaz
- satırı lida / mint / 2 diye okuma
Akılda kalsın
- test true veya false yanıtlar
- /^tea$/ yalnızca bütün dize tea olduğunda kabul eder
- g ile match her kopyayı listeler ya da null döndürür
- replace yeni bir dize döndürür
- sayfa satırı true / Order: mint olur
🧠 Bilginizi Test Edin
Bilginizi Test Edin
Bu interaktif sınavla kendini test et ve konuyu ne kadar iyi anladığını gör
📝 Talimatlar
- Her soruyu dikkatle okuyun
- Her soru için en iyi cevabı seçin
- Quiz'i istediğiniz kadar tekrar alabilirsiniz
- İlerlemeniz üstte gösterilecek