0Pricing
Learn AI with Python · Lekcja

Wzorce wyrażeń regularnych i klasy znaków

\d, \w, \s, ., ^, $, +, *, ?, {n,m}, klasy znaków [a-z], negacja [^...].

Wzorce wyrażeń regularnych i klasy znaków to bezpłatna lekcja Learn AI with Python 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 Learn AI with Python, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Learn AI with Python zawiera 4 lekcji w sumie.

Znaczenie wyrażeń regularnych w AI do przetwarzania tekstu

Przetwarzanie tekstu przez AI zaczyna się od nieuporządkowanego tekstu źródłowego. Wyrażenia regularne (regex) to zwięzły język służący do znajdowania i wyodrębniania wzorców — numerów telefonów, dat, hashtagów i adresów URL — dzięki czemu można oczyścić tekst i nadać mu strukturę przed przekazaniem go modelowi.

W tym kursie omówiono wzorce, moduł re, grupy oraz rzeczywisty potok czyszczenia tekstu.

Znaki dosłowne

Najprostszy wzorzec to tekst dosłowny: dopasowuje dokładnie te znaki. Domyślnie regex rozróżnia wielkość liter.

cat dopasowuje się do ciągu "cat" wewnątrz "the cat sat", ale nie do "Cat".

import re

print(re.findall("cat", "the cat sat on a cat mat"))
# ["cat", "cat"]

Metaznak kropki

Kropka . dopasowuje dowolny pojedynczy znak z wyjątkiem znaku nowego wiersza. Jest symbolem wieloznacznym.

c.t dopasowuje "cat", "cot" i "c9t" — wszystko, co ma postać: c, jeden znak, a następnie t.

import re

print(re.findall("c.t", "cat cot cut c@t"))
# ["cat", "cot", "cut", "c@t"]

Klasy cyfr, znaków słów i białych znaków

Skrócone klasy znaków obejmują często używane grupy:

  • \d — cyfra (0–9)
  • \w — znak słowa (litera, cyfra lub podkreślenie)
  • \s — biały znak (spacja, tabulator, znak nowego wiersza)
import re

print(re.findall("\d", "a1b2c3"))     # ["1", "2", "3"]
print(re.findall("\w", "a_1!"))        # ["a", "_", "1"]
print(re.findall("\s", "a b\tc"))      # [" ", "\t"]

Klasy negowane

Wersje z wielką literą negują klasę:

  • \D — wszystko, co NIE jest cyfrą
  • \W — znak, który NIE jest znakiem słowa
  • \S — znak, który NIE jest białym znakiem
import re

print(re.findall("\D", "a1b2"))   # ["a", "b"]
print(re.findall("\S", "a b c"))  # ["a", "b", "c"]

Niestandardowe zestawy znaków za pomocą [ ]

Nawiasy kwadratowe definiują własny zestaw: dopasowują dowolny pojedynczy znak wymieniony w środku. Zakresy zapisuje się za pomocą łącznika.

  • [aeiou] — dowolna samogłoska
  • [A-Za-z] — dowolna litera
  • [0-9] — dowolna cyfra (to samo co \d)
import re

print(re.findall("[A-Za-z]", "ab12CD"))   # letters only
print(re.findall("[aeiou]", "hello"))      # ["e", "o"]

Negowane zestawy za pomocą [^ ]

Daszek wewnątrz nawiasów neguje zestaw: dopasowuje dowolny znak, którego NIE wymieniono.

[^abc] dopasowuje wszystko z wyjątkiem a, b i c. (Daszek poza nawiasami jest kotwicą, omówioną w następnej części).

import re

print(re.findall("[^aeiou ]", "hello world"))
# consonants: ["h", "l", "l", "w", "r", "l", "d"]

Kotwice: ^ i $

Kotwice dopasowują pozycje, a nie znaki:

  • ^ — początek ciągu (lub wiersza)
  • $ — koniec ciągu (lub wiersza)

^Hello dopasowuje się tylko wtedy, gdy tekst zaczyna się od "Hello".

import re

print(bool(re.search("^Hello", "Hello world")))  # True
print(bool(re.search("world$", "Hello world")))  # True
print(bool(re.search("^world", "Hello world")))  # False

Kwantyfikatory: + * ?

Kwantyfikatory określają, ile razy powtarza się poprzedzający element:

  • + — jeden lub więcej razy
  • * — zero lub więcej razy
  • ? — zero lub jeden raz (opcjonalnie)
import re

print(re.findall("\d+", "abc 123 de 45"))   # ["123", "45"]
print(re.findall("ab*", "a ab abb"))         # ["a", "ab", "abb"]
print(re.findall("colou?r", "color colour")) # both match

Kwantyfikator zakresu {n,m}

Nawiasy klamrowe określają dokładną liczbę lub zakres:

  • {3} — dokładnie 3
  • {2,4} — od 2 do 4
  • {2,} — 2 lub więcej

Świetnie sprawdza się to w przypadku elementów o stałej długości, takich jak kody pocztowe ZIP lub fragmenty numerów telefonów.

import re

print(re.findall("\d{3}", "12 345 6789"))    # ["345", "678"]
print(re.findall("\d{2,4}", "1 22 3333 55555"))

Łączenie elementów

Rzeczywiste wzorce łączą klasy, zestawy, kotwice i kwantyfikatory. Ten wzorzec dopasowuje prosty amerykański numer telefonu, taki jak 555-123-4567:

\d{3}-\d{3}-\d{4} — trzy cyfry, łącznik, trzy cyfry, łącznik, cztery cyfry.

import re

text = "Call 555-123-4567 or 999-888-7777"
print(re.findall("\d{3}-\d{3}-\d{4}", text))
# ["555-123-4567", "999-888-7777"]

Szybki test: kwantyfikatory

Należy dopasować jedną lub więcej kolejnych cyfr.

Podsumowanie: wzorce i klasy znaków

Można już korzystać z podstawowych elementów regex:

  • Znaki dosłowne i symbol wieloznaczny .
  • Klasy \d \w \s oraz ich negacje \D \W \S
  • Niestandardowe zestawy [A-Za-z] i zestawy negowane [^abc]
  • Kotwice ^ i $
  • Kwantyfikatory + * ? oraz zakresy {n,m}

Następnie: funkcje modułu re języka Python.

Często zadawane pytania

Czy lekcja „Wzorce wyrażeń regularnych i klasy znaków” jest bezpłatna?

Tak — pełny tekst „Wzorce wyrażeń regularnych i klasy znaków” 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 Learn AI with Python, przejdź na CoddyKit PRO. Kurs Learn AI with Python zawiera 4 lekcji w sumie.

Co nauczysz się w „Wzorce wyrażeń regularnych i klasy znaków”?

\d, \w, \s, ., ^, $, +, *, ?, {n,m}, klasy znaków [a-z], negacja [^...]. Ćwiczysz Learn AI with Python 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ąć Learn AI with Python?

Nie wymagamy żadnego doświadczenia. Learn AI with Python 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 „Wzorce wyrażeń regularnych i klasy znaków”?

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 Learn AI with Python?

Tak. Każda lekcja Learn AI with Python 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

  1. Wzorce wyrażeń regularnych i klasy znaków
  2. Moduł re: search, match, findall, sub
  3. Grupy przechwytujące i nazwane
  4. Czyszczenie tekstu na potrzeby AI za pomocą wyrażeń regularnych
← Powrót do Learn AI with Python