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

Bendera `m`: multiline

Dengan tanda m (multiline), jangkar ^ dan $ berubah arti: mereka tidak lagi menjadi awal/akhir dari keseluruhan string, tetapi awal/akhir dari setiap baris. Sebuah garis dibatasi oleh \n (atau pada awal/akhir tali).

Code
Pattern: ^Errore
Flag:    gm
Sample:  Errore: A\nInfo: B\nErrore: C
         ^^^^^^         ^^^^^^

Tanpa m maka hanya akan cocok dengan Errore pada awal absolut dari sampel (1 kecocokan). Dengan m, ini cocok dengan awal setiap baris (2 pertandingan).

m TIDAK mengubah titik

Kebingungan umum: tanda m TIDAK mengubah arti titik .. Titik tersebut tetap TIDAK cocok dengan \n meskipun dengan m. Untuk membuat titik cocokkan semua yang Anda perlukan dengan tanda s (dibahas dalam modul 1).

m dan s bersifat ortogonal: Anda dapat menggunakannya bersama-sama (ms), secara terpisah, atau tidak keduanya.

Bendera multiline dan pemrosesan baris demi baris

Bendera m memodifikasi perilaku ^ dan $ dengan membuatnya cocok dengan awal dan akhir setiap baris (dibatasi oleh \\n) dalam blok teks multibaris, alih-alih hanya melihat awal dan akhir absolut dari keseluruhan string.

Cobalah

Latihan#regex.m3.l3.e1
Upaya: 0Memuat…

Temukan setiap baris yang dimulai dengan `ERROR`. Setiap baris dipisahkan oleh \\n; gunakan tanda `g` dan `m`.

Memuat editor…
Tunjukkan petunjuk

Bendera m membuat ^ cocok dengan awal baris dalam juga, tidak hanya karakter pertama yang absolut.

Solusi tersedia setelah 3 upaya

Tinjau latihan

Latihan#regex.m3.l3.e2
Upaya: 0Memuat…

Temukan setiap baris yang BERAKHIR dengan titik. Gunakan jangkar `$` dengan tanda `m` dan `g`.

Memuat editor…
Tunjukkan petunjuk

\\.$ dengan tanda gm cocok dengan titik di akhir setiap baris, tidak hanya di akhir sampel.

Solusi tersedia setelah 3 upaya

Tantangan tambahan

Latihan#regex.m3.l3.e3
Upaya: 0Memuat…

Find all lines in a multiline log that start exactly with the string `ID:` followed by a digit.

Memuat editor…
Tunjukkan petunjuk

Gunakan ^ sebelum ID: dan pastikan tanda m aktif.

Solusi tersedia setelah 3 upaya