Penelusuran adalah pernyataan lebar nol. Mereka memeriksa regex (ke kanan atau kiri dari posisi saat ini - berdasarkan depan atau belakang), berhasil atau gagal ketika kecocokan ditemukan (berdasarkan apakah itu positif atau negatif) dan membuang bagian yang cocok. Mereka tidak mengkonsumsi karakter apa pun - pencocokan untuk regex yang mengikuti mereka (jika ada), akan mulai pada posisi kursor yang sama.
Baca regular-expression.info untuk lebih jelasnya.
Sintaksis:
(?=REGEX_1)REGEX_2
Cocokkan hanya jika REGEX_1 cocok; setelah mencocokkan REGEX_1, kecocokan dibuang dan mencari REGEX_2 dimulai pada posisi yang sama.
contoh:
(?=[a-z0-9]{4}$)[a-z]{1,2}[0-9]{2,3}
REGEX_1 adalah [a-z0-9]{4}$
yang cocok dengan empat karakter alfanumerik yang diikuti dengan akhir baris.
REGEX_2 [a-z]{1,2}[0-9]{2,3}
cocok dengan satu atau dua huruf diikuti oleh dua atau tiga digit.
REGEX_1 memastikan bahwa panjang string memang 4, tetapi tidak mengkonsumsi karakter apa pun sehingga pencarian REGEX_2 dimulai di lokasi yang sama. Sekarang REGEX_2 memastikan bahwa string tersebut cocok dengan beberapa aturan lain. Tanpa melihat ke depan itu akan cocok dengan string dengan panjang tiga atau lima.
Sintaksis:
(?!REGEX_1)REGEX_2
Cocokkan hanya jika REGEX_1 tidak cocok; setelah memeriksa REGEX_1, pencarian untuk REGEX_2 dimulai pada posisi yang sama.
contoh:
(?!.*\bFWORD\b)\w{10,30}$
Bagian lihat-depan memeriksa FWORD
dalam string dan gagal jika menemukannya. Jika tidak menemukan FWORD
, lihat-depan berhasil dan bagian berikut memverifikasi bahwa panjang string adalah antara 10 dan 30 dan itu hanya berisi karakter kataa-zA-Z0-9_
Lihat-belakang mirip dengan melihat-depan: itu hanya melihat di belakang posisi kursor saat ini. Beberapa rasa regex seperti javascript tidak mendukung pernyataan di belakang. Dan sebagian besar rasa yang mendukungnya (PHP, Python, dll) mengharuskan bagian yang terlihat di belakang itu memiliki panjang yang tetap.
- Grup atom pada dasarnya membuang / lupa token berikutnya dalam grup setelah token cocok. Periksa halaman ini untuk contoh-contoh kelompok atom