Lompat ke konten utama
←

Regex untuk Mencari Teks

Pelajaran 10 dari 14

Jangkar, batas kata, dan lookahead

Lookahead: syarat yang tidak ikut terambil

Setelah pelajaran ini kamu bisa memakai lookahead positif dan negatif untuk menuntut atau menolak pola sesudah satu posisi.

  • ±13 menit
  • 3 latihan
  • Diperiksa 23 Sep 2026

Latihan di pelajaran ini butuh akun gratis. Progres, kode, dan catatanmu hanya tersimpan di browser ini. Masuk untuk menyimpannya

Materi

Lookahead adalah pernyataan tentang apa yang ada sesudah posisi saat ini. Bentuk positifnya (?=...) menuntut pola di dalamnya cocok mulai posisi itu; bentuk negatifnya (?!...) menuntut kebalikannya. Keduanya tidak memakan karakter: sesudah diperiksa, pencocokan kembali ke posisi semula dan melanjutkan dari sana.

"berat 25 unit".match(/\d+(?= unit)/)[0];   // "25", satuannya tidak ikut
/kursi (?!kosong)/.test("kursi kosong");     // false
/kursi (?!kosong)/.test("kursi 12");         // true

Karena tidak memakan karakter, beberapa lookahead bisa ditumpuk di posisi yang sama dan semuanya harus terpenuhi. Pola ^(?=.*7)(?=.*9) menuntut teks memuat angka 7 dan angka 9 tanpa menentukan mana yang lebih dulu. Syarat seperti itu sulit ditulis dengan pola biasa, karena tiap urutan harus disebut satu per satu.

Lookahead negatif dipakai untuk mengecualikan sebagian kecil dari kelompok besar: semua kode yang diawali satu huruf tertentu kecuali yang tahunnya sudah kedaluwarsa, atau semua baris yang memuat satu kata tetapi tidak memuat kata pembatalnya. Tanpa lookahead, pengecualian seperti ini dikerjakan di kode, bukan di pola.

Latihan

0/3 lulus

Jawaban diperiksa di server. Lulus berarti kamu memahami contohnya, bukan penilaian seluruh pekerjaanmu.

Catatanmu

Memuat catatan…

tersimpan otomatis, ikut tercetak · 0/4.000

Lanjutkan ke

Tampilkan 3 lagi

Sebagian materi kelas ini diadaptasi dari Library Carpentry — Introduction to Working with Data (Regular Expressions) (CC-BY-4.0).