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).
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
'HATA' ile başlayan her satırı bulun. Her satır \\n ile ayrılır; 'g' ve 'm' işaretlerini kullanın.
İ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
Noktayla biten her satırı bulun. '$' bağlantısını 'm' ve 'g' işaretleriyle birlikte kullanın.
İ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
Find all lines in a multiline log that start exactly with the string `ID:` followed by a digit.
İpucu göster
ID:'den önce ^ kullanın ve m bayrağının aktif olduğundan emin olun.
3 denemeden sonra çözüm mevcut