Lompati ke konten utama
Modul 4 · Pelajaran 2 dari 414/32 dalam kursus~10 min
Pelajaran modul (2/4)

Pergantian: `|`

Pipa | adalah ATAU dari regex: polanya cocok jika salah satu dari alternatif cocok. Prioritasnya sangat rendah: | memisahkan semuanya ke kiri dan ke kanan sampai ke kelompok penutup atau awal pola.

Code
Pattern: cane|gatto|criceto
Sample:  Ho un cane, un gatto e un criceto.
               ^^^^     ^^^^^         ^^^^^^^

Tanda kurung mendorong prioritas

Tanpa tanda kurung, alternatifnya berkisar dari awal hingga akhir pola. Hampir selalu Anda ingin membatasi OR ke bagian pola: bungkuslah sebuah kelompok.

Code
Pattern   Significato (errato vs corretto)
^a|b$     "inizio + a" oppure "b + fine"           (probabilmente sbagliato)
^(a|b)$   "inizio + (a oppure b) + fine"           (probabilmente giusto)

Tentang pengurutan alternatif pada umumnya: masukkan yang paling banyak yang spesifik/terpanjang terlebih dahulu. Mesin mencoba dari kiri ke kanan dan berhenti di yang pertama cocok: gat|gatto hanya akan selalu cocok dengan gat.

Prioritas dan isolasi alternatif

Operator | memiliki prioritas yang sangat rendah. Jika Anda menulis ^abc|def$, Anda mencari "string yang dimulai dengan abc ATAU string yang diakhiri dengan def". Untuk mencari "awal string diikuti abc atau def, diikuti akhir string", Anda harus menulis ^(abc|def)$.

Cobalah

Latihan#regex.m4.l2.e1
Upaya: 0Memuat…

Temukan setiap kemunculan tiga hewan `tebu`, `gatto`, `criceto` dalam teks (dalam urutan apa pun).

Memuat editor…
Tunjukkan petunjuk

Pipa memisahkan alternatif. Gunakan bendera g untuk menangkap semuanya.

Solusi tersedia setelah 3 upaya

Tinjau latihan

Latihan#regex.m4.l2.e2
Upaya: 0Memuat…

Temukan kata `gennaio` atau `febbraio` HANYA sebagai kata utuh (gunakan `\\b` untuk menghindari pencocokan di dalam kata yang lebih panjang). Gunakan tanda kurung untuk membatasi pergantian.

Memuat editor…
Tunjukkan petunjuk

\\b(gennaio|febbraio)\\b mengaitkan pilihan pada seluruh kata.

Solusi tersedia setelah 3 upaya

Tantangan tambahan

Latihan#regex.m4.l2.e3
Upaya: 0Memuat…

Temukan nama file yang diakhiri dengan ekstensi `.jpg`, `.png`, atau `.gif`.

Memuat editor…
Tunjukkan petunjuk

Gunakan pipa di dalam grup untuk bergantian antar ekstensi.

Solusi tersedia setelah 3 upaya