Ana içeriğe geç
Modül 3 · Ders 3 ders 4Kurstaki 11/32~10 min
Modül dersleri (3/4)

'm' bayrağı: çok satırlı

m (çok satırlı) bayrağıyla ^ ve $ bağlantılarının anlamı değişir: artık tüm dizenin başlangıcı/bitişi değiller, fakat başlangıcı/bitişidirler her satır. Bir satır \n (veya satırın başlangıcı/bitişi) ile sınırlandırılmıştır. dize).

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

m olmasaydı, yalnızca mutlak başlangıcındaki Errore ile eşleşirdi. örnek (1 eşleşme). m ile her satırın başlangıcıyla eşleşir (2 maçlar).

m noktayı DEĞİŞTİRMEZ

Yaygın bir karışıklık: m bayrağı noktanın anlamını DEĞİŞTİRMEZ .. Nokta hala \n ile m ile bile eşleşmiyor. Noktayı yapmak için ihtiyacınız olan her şeyi s bayrağıyla eşleştirin (modül 1'de ele alınmıştır).

m ve s diktir: bunları birlikte (ms) ayrı ayrı kullanabilirsiniz, ya da hiçbiri.

Çok satırlı bayrak ve satır satır işleme

m bayrağı, tüm dizenin yalnızca mutlak başlangıcına ve sonuna bakmak yerine, çok satırlı bir metin bloğu içindeki her satırın (\\n ile sınırlandırılmış) başlangıcı ve bitişiyle eşleşmesini sağlayarak ^ ve $ davranışını değiştirir.

Deneyin

Egzersiz#regex.m3.l3.e1
Denemeler: 0Yükleniyor…

'HATA' ile başlayan her satırı bulun. Her satır \\n ile ayrılır; 'g' ve 'm' işaretlerini kullanın.

Düzenleyici yükleniyor…
İpucu göster

m bayrağı ^'nin yalnızca mutlak ilk karakterle değil, iç satırların başlangıcıyla da eşleşmesini sağlar.

3 denemeden sonra çözüm mevcut

Alıştırmayı gözden geçirin

Egzersiz#regex.m3.l3.e2
Denemeler: 0Yükleniyor…

Noktayla biten her satırı bulun. '$' bağlantısını 'm' ve 'g' işaretleriyle birlikte kullanın.

Düzenleyici yükleniyor…
İpucu göster

\\.$ gm bayraklarıyla yalnızca numunenin sonunda değil, her satırın sonundaki noktayla eşleşir.

3 denemeden sonra çözüm mevcut

Ek zorluk

Egzersiz#regex.m3.l3.e3
Denemeler: 0Yükleniyor…

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

Düzenleyici yükleniyor…
İpucu göster

ID:'den önce ^ kullanın ve m bayrağının aktif olduğundan emin olun.

3 denemeden sonra çözüm mevcut