Testowanie wzorców za pomocą REGEXMATCH
Sprawdzanie, czy tekst pasuje do wzorca, i zwracanie TRUE lub FALSE
Testowanie wzorców za pomocą REGEXMATCH to bezpłatna lekcja Excel Formulas Academy na CoddyKit. To lekcja 1 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Excel Formulas Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Excel Formulas Academy zawiera 4 lekcji w sumie.
Dlaczego wzorce są lepsze niż zwykłe wyszukiwanie
Czasami nie chodzi o sprawdzenie jednego dokładnego słowa. Chodzi o zadanie bardziej precyzyjnego pytania, na przykład: czy ta komórka zawiera jakieś cyfry? lub czy ma format poprawnego adresu e-mail?
Wyrażenie regularne (regex) to niewielki język wzorców, który opisuje strukturę tekstu. Google Sheets umożliwia korzystanie z niego za pośrednictwem trzech funkcji: REGEXMATCH, REGEXEXTRACT i REGEXREPLACE.
W tej lekcji skupimy się na pierwszej z nich. REGEXMATCH odpowiada po prostu na pytanie tak lub nie: czy tekst pasuje do wzorca?
Składnia REGEXMATCH
REGEXMATCH przyjmuje dwa argumenty: text, czyli tekst do sprawdzenia, oraz pattern, czyli wyszukiwany wzorzec. Zwraca TRUE, jeśli wzorzec zostanie znaleziony w dowolnym miejscu tekstu, a w przeciwnym razie FALSE.
Uwaga: ta funkcja jest dostępna w Google Sheets. Excel korzysta z innych narzędzi, dlatego w tej lekcji skupiamy się wyłącznie na Sheets.
Najprostszym wzorcem jest zwykły fragment tekstu. Poniższa formuła sprawdza, czy komórka A2 zawiera słowo cat.
=REGEXMATCH(A2, "cat")Wielkość liter ma znaczenie podczas dopasowywania
Domyślnie dopasowywanie wyrażeń regularnych rozróżnia wielkie i małe litery. Wzorzec cat nie dopasuje tekstu CAT.
Aby dopasować oba warianty, można umieścić opcje w nawiasach kwadratowych. Wzorzec [Cc]at dopasuje zarówno Cat, jak i cat.
Poniższa formuła zwraca TRUE, jeśli A2 zawiera cat z pierwszą literą w dowolnej wielkości.
=REGEXMATCH(A2, "[Cc]at")Kotwice: początek i koniec
Wyrażenia regularne udostępniają kotwice wskazujące, gdzie musi znajdować się wzorzec.
^oznacza początek tekstu$oznacza koniec tekstu
Bez kotwic liczy się dopasowanie w dowolnym miejscu. Dzięki nim można kontrolować położenie wzorca. Poniższa formuła zwraca TRUE tylko wtedy, gdy A2 zaczyna się od INV, co jest przydatne przy wyszukiwaniu kodów faktur.
=REGEXMATCH(A2, "^INV")Klasy znaków dla cyfr
Klasa znaków opisuje grupę dozwolonych znaków. Najczęściej używanym skrótem jest \d, który oznacza dowolną pojedynczą cyfrę od 0 do 9.
Poniższy wzorzec sprawdza, czy A2 zawiera co najmniej jedną cyfrę w dowolnym miejscu. Znak + oznacza jedną lub więcej cyfr, dlatego formuła zwraca TRUE dla order7 i FALSE dla hello.
=REGEXMATCH(A2, "\d+")Przykład: znajdowanie komórek zawierających liczby
Załóżmy, że kolumna A zawiera nazwy produktów. Niektóre zawierają rozmiar, na przykład Shirt 12, a niektóre nie. Potrzebny jest znacznik TRUE/FALSE wskazujący, które z nich zawierają liczbę.
Należy przeciągnąć poniższą formułę w dół kolumny B. Wiersze zawierające dowolną cyfrę pokażą TRUE, a wiersze zawierające wyłącznie tekst pokażą FALSE. Następnie można filtrować dane według tej kolumny.
=REGEXMATCH(A2, "\d")Typowe klasy do ponownego użycia
Kilka skrótów pokrywa większość potrzeb:
\ddowolna cyfra\wdowolna litera, cyfra lub znak podkreślenia\sdowolny biały znak, na przykład spacja lub tabulator.dowolny pojedynczy znak
Można również zbudować własną klasę. [A-Z] oznacza dowolną wielką literę, a [a-z] — dowolną małą literę. Poniższa formuła sprawdza, czy A2 zawiera wielką literę.
=REGEXMATCH(A2, "[A-Z]")Kwantyfikatory określają liczbę powtórzeń
Kwantyfikatory określają, ile razy może powtórzyć się poprzedzający je element:
+jeden lub więcej razy*zero lub więcej razy?zero lub jeden raz (opcjonalnie){3}dokładnie trzy razy
Aby sprawdzić, czy A2 jest pięciocyfrowym kodem ZIP od początku do końca, należy połączyć kotwice z kwantyfikatorem określającym dokładną liczbę znaków, jak pokazano poniżej.
=REGEXMATCH(A2, "^\d{5}$")Przykład: sprawdzanie formatu adresu e-mail
Można oznaczyć komórki, które wyglądają jak adres e-mail. Przybliżony, ale praktyczny wzorzec obejmuje kilka znaków, znak @, kolejne znaki, kropkę, a następnie kilka liter.
Poniższa formuła zwraca TRUE dla sam@site.com i FALSE dla not-an-email. Nie jest to idealna walidacja, ale pozwala wychwycić oczywiste błędy na liście kontaktów.
=REGEXMATCH(A2, "^[\w.]+@[\w.]+\.\w{2,}$")Łączenie REGEXMATCH z IF
Ponieważ REGEXMATCH zwraca TRUE lub FALSE, można bezpośrednio użyć go w funkcji IF. Dzięki temu można wyświetlić zrozumiały komunikat zamiast samej wartości logicznej.
Poniższa formuła oznacza każdą komórkę jako Has number lub Text only w zależności od tego, czy zawiera cyfrę.
=IF(REGEXMATCH(A2, "\d"), "Has number", "Text only")Escapowanie znaków specjalnych
Niektóre znaki mają w wyrażeniach regularnych specjalne znaczenie: . + * ? ( ) [ ] ^ $ \ i kilka innych. Jeśli mają być dopasowane dosłownie, należy poprzedzić je ukośnikiem odwrotnym.
Aby sprawdzić, czy tekst zawiera dosłowną kropkę, należy zapisać \., a nie samo . (które dopasowałoby dowolny znak). Poniższa formuła zwraca TRUE tylko wtedy, gdy A2 rzeczywiście zawiera kropkę.
=REGEXMATCH(A2, "\.")Szybki test
Proszę sprawdzić swoje rozumienie działania REGEXMATCH i wzorców.
Podsumowanie: tak lub nie za pomocą wzorców
Można już korzystać z funkcji REGEXMATCH(text, pattern), która zwraca TRUE lub FALSE w Google Sheets. Najważniejsze informacje:
- Wzorce opisują strukturę tekstu, a nie tylko dokładne słowa
\d \w \s .to przydatne skróty klas znaków^i$oznaczają odpowiednio początek i koniec+ * ? {n}określają, ile razy coś się powtarza- Aby dopasować znaki specjalne dosłownie, należy użyć escapowania, na przykład
\.
Następnie można przejść od testowania wzorców do pobierania dopasowanego tekstu za pomocą REGEXEXTRACT.
Często zadawane pytania
Czy lekcja „Testowanie wzorców za pomocą REGEXMATCH” jest bezpłatna?
Tak — pełny tekst „Testowanie wzorców za pomocą REGEXMATCH” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Excel Formulas Academy, przejdź na CoddyKit PRO. Kurs Excel Formulas Academy zawiera 4 lekcji w sumie.
Co nauczysz się w „Testowanie wzorców za pomocą REGEXMATCH”?
Sprawdzanie, czy tekst pasuje do wzorca, i zwracanie TRUE lub FALSE Ćwiczysz Excel Formulas Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć Excel Formulas Academy?
Nie wymagamy żadnego doświadczenia. Excel Formulas Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 1 z 4.
Ile czasu zajmuje lekcja „Testowanie wzorców za pomocą REGEXMATCH”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji Excel Formulas Academy?
Tak. Każda lekcja Excel Formulas Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- Testowanie wzorców za pomocą REGEXMATCH
- Wyodrębnianie wzorców za pomocą REGEXEXTRACT
- Zastępowanie wzorców za pomocą REGEXREPLACE
- Dzielenie i porządkowanie nieuporządkowanych danych