Lekcje modułu (3/4)
Flaga `m`: multiline
Z flagą m (multiline) kotwice ^ i $ zmieniają swoje znaczenie: nie oznaczają już początku/końca całego ciągu znaków, ale początek/koniec każdej linii. Linia jest ograniczona znakiem \n (lub początkiem/końcem ciągu znaków).
Pattern: ^Errore
Flag: gm
Sample: Errore: A\nInfo: B\nErrore: C
^^^^^^ ^^^^^^Bez flagi m wzorzec dopasowałby tylko słowo Errore na samym początku tekstu (1 dopasowanie). Z flagą m dopasowuje początek każdej linii (2 dopasowania).
Flag m NIE zmienia znaczenia kropki
Częste nieporozumienie: flaga m NIE zmienia znaczenia kropki .. Kropka nadal NIE dopasowuje znaku nowej linii \n, nawet przy aktywnej fladze m. Aby kropka dopasowywała wszystko, potrzebujesz flagi s (omówionej w module 1).
Flagi m i s są niezależne: możesz używać ich razem (ms), osobno lub nie używać żadnej z nich.
Flaga multiline i przetwarzanie linia po linii
Flaga m modyfikuje zachowanie kotwic ^ i $, sprawiając, że dopasowują one początek i koniec każdej linii (ograniczonej znakiem \n) wewnątrz wielolinijkowego bloku tekstu, zamiast analizować tylko bezwzględny początek i koniec całego ciągu.
Spróbuj sam
Znajdź każdą linię zaczynającą się od słowa `ERROR`. Każda linia jest oddzielona znakiem \n; użyj flag `g` i `m`.
Pokaż wskazówkę
Flaga m sprawia, że ^ dopasowuje również początek wewnętrznych linii, a nie tylko absolutnie pierwszy znak.
Rozwiązanie dostępne po 3 próbach
Ćwiczenie powtórzeniowe
Znajdź każdą linię KOŃCZĄCĄ się kropką. Użyj kotwicy `$` z flagami `m` i `g`.
Pokaż wskazówkę
Zapis \.$ z flagami gm dopasowuje kropkę na końcu każdej linii, a nie tylko na końcu całego tekstu.
Rozwiązanie dostępne po 3 próbach
Dodatkowe wyzwanie
Znajdź wszystkie linie w wielolinijkowym logu, które zaczynają się dokładnie od ciągu `ID:` po którym następuje cyfra.
Pokaż wskazówkę
Użyj ^ przed ID: i upewnij się, że flaga m jest włączona.
Rozwiązanie dostępne po 3 próbach