Lekcje modułu (4/4)
Puste linie i trim
Połączmy kotwice i flagę m w celu zrealizowania dwóch niezwykle przydatnych schematów: dopasowywania pustych linii oraz przycinania (trim) białych znaków na początku i na końcu każdej linii.
Puste linie
Pusta linia to pozycja, w której kotwice ^ i $ zbiegają się: zero znaków między początkiem a końcem linii.
Pattern: ^$
Flag: gm
Sample: uno\n\ndue\n\n\ntreDopasowanie ma szerokość zerową: edytor pokaże znacznik między dwoma znakami \n. Aby dopasować również linie "puste, ale zawierające spacje", użyj wzorca ^\s*$.
Przycinanie linii (trim)
Aby usunąć białe znaki na początku lub na końcu linii, połącz odpowiednią kotwicę + klasę \s + kwantyfikator:
^\s+ dopasowuje białe znaki na początku linii (można je zastąpić pustym ciągiem znaków, moduł 7)
\s+$ dopasowuje białe znaki na końcu liniiZ flagami gm zbierzesz wszystkie białe znaki z marginesów każdej linii.
Identyfikacja pustych linii i spacji na końcu
Czysta pusta linia jest dopasowywana przez wzorzec ^$multi_replace_file_content (z flagą m). Jednak wiele linii pozornie pustych zawiera niewidoczne spacje lub tabulacje. Wzorzec ^\s*$ przechwytuje również te linie, co znacznie ułatwia oczyszczanie danych.
Spróbuj sam
Znajdź każdą pustą linię w próbce (zero znaków między dwoma znakami nowej linii). Użyj `^$` z flagami `gm`.
Pokaż wskazówkę
Pusta linia to pozycja, w której zbiegają się ^ i $. Flaga m jest obowiązkowa.
Rozwiązanie dostępne po 3 próbach
Ćwiczenie powtórzeniowe
Znajdź białe znaki na końcu każdej linii (białe znaki poprzedzające znak nowej linii). Użyj `\s+$` z flagami `gm`.
Pokaż wskazówkę
Zapis \s+ dopasowuje jeden lub więcej białych znaków (w tym tabulację). Z flagami gm kotwiczysz dopasowanie do końca każdej linii.
Rozwiązanie dostępne po 3 próbach
Dodatkowe wyzwanie
Znajdź wszystkie linie, które zaczynają się od znaku `#` (całe linie komentarza, ignorując komentarze wewnątrz linii).
Pokaż wskazówkę
Użyj ^ na początku wzorca, aby wskazać, że znak komentarza # musi rozpoczynać linię.
Rozwiązanie dostępne po 3 próbach