Pelajaran modul (1/4)
Pola literal
Dalam regex, karakter alfanumerik "normal" cukup cocok dengan dirinya sendiri: tulis
ciao sebagai pola dan mesin akan mencari substring ciao di dalamnya
teks. Tidak ada yang lebih menakjubkan: pemindaian dari kiri ke kanan posisi demi posisi.
Pattern: ciao
Sample: Buongiorno, ciao mondo! Ti dico anche ciao.
^^^^ ^^^^Sebuah pertandingan selalu membawa dua informasi penting:
- teks yang cocok (di sini
ciao); - indeks (offset berbasis 0) yang dimulai dalam sampel (di sini
12dan38).
Secara default, regex peka huruf besar/kecil: ciao tidak cocok dengan Ciao atau
CIAO. Untuk mengabaikan huruf besar-kecil, tambahkan tanda i (tidak peka huruf besar-kecil).
Cara kerja mesin
Mesin regex memeriksa teks satu karakter dalam satu waktu. Saat mencari pola literal ciao, pertama-tama dicari huruf c. Setelah ditemukan, ia memverifikasi apakah karakter berikutnya adalah i, lalu a, dan terakhir o. Jika salah satu kecocokan ini gagal, mesin akan mundur ke posisi awal berikutnya dan mulai mencari c lagi.
Pola literal dan bendera g
Tanpa tanda g (global), mesin berhenti pada kecocokan pertama yang ditemukannya dan berhenti. Dengan
g melanjutkan dan mengumpulkan setiap kecocokan berikutnya hingga akhir string. Dalam kursus ini kami akan melakukannya
hampir selalu mengaktifkan g: kami ingin melihat setiap kecocokan ada dalam teks.
Cobalah
Temukan setiap kemunculan kata `ciao` yang tepat (peka huruf besar-kecil) dalam sampel. Petunjuk: ingat bendera `g`.
Tunjukkan petunjuk
Polanya adalah kata itu sendiri. Huruf besar tidak boleh cocok: tidak, saya tandai.
Solusi tersedia setelah 3 upaya
Tinjau latihan
Temukan setiap kemunculan kata `errore` dalam teks, abaikan huruf besar/kecil.
Tunjukkan petunjuk
Kata yang sama dengan polanya, tetapi tambahkan tanda i (tidak peka huruf besar-kecil) di samping g.
Solusi tersedia setelah 3 upaya
Tantangan tambahan
Identifikasi dan kumpulkan semua kemunculan kata `PERINGATAN` (huruf besar, peka huruf besar-kecil) dalam contoh teks log.
Tunjukkan petunjuk
Cari langsung string literal PERINGATAN, pastikan untuk tidak mengaktifkan bendera i.
Solusi tersedia setelah 3 upaya