Wprowadzenie do wyrażeń regularnych

Wyrażenia regularne, powszechnie znane jako regex lub regexp, to sekwencje znaków tworzące wzorce wyszukiwania. Są one używane głównie do dopasowywania i manipulacji ciągami. Regex może być niezwykle wydajny w wyszukiwaniu, zastępowaniu i wydobywaniu danych z tekstu.

Podstawowa składnia

Wyrażenia regularne składają się z kombinacji znaków literału i znaków specjalnych zwanych metaznakami. Oto kilka podstawowych komponentów:

  • Znaki dosłowne: Są to normalne znaki, które pasują do siebie. Na przykład wyrażenie regularne cat pasuje do ciągu "cat".
  • Metaznaki: Znaki te mają specjalne znaczenie i służą do budowania złożonych wzorców. Przykłady obejmują ., *, *+, ?, [], {}, () i |.

Wspólne metaznaki

Poniżej znajdują się niektóre z najczęściej używanych metaznaków i ich funkcje:

  1. . - Dopasowuje dowolny pojedynczy znak z wyjątkiem znaku nowej linii.
  2. * - Dopasowuje 0 lub więcej powtórzeń poprzedniego elementu.
  3. + - Dopasowuje 1 lub więcej powtórzeń poprzedniego elementu.
  4. ? - Dopasowuje 0 lub 1 powtórzenie poprzedniego elementu.
  5. [] — Służy do dopasowywania dowolnego znaku w nawiasach.
  6. {} – Określa określoną liczbę wystąpień poprzedzającego elementu.
  7. () — grupuje wiele tokenów i tworzy grupy przechwytujące.
  8. | - Działa jako operator OR.

Przykłady podstawowych wzorców

Przyjrzyjmy się kilku podstawowym wzorcom wyrażeń regularnych na przykładach:

cat

Dopasowuje ciąg "cat" w dowolnym miejscu tekstu.

.at

Dopasowuje dowolny ciąg zawierający "a", po którym następuje dowolny znak, a następnie "t". Na przykład "cat", "bat", "hat".

\d{3}

Pasuje dokładnie trzy cyfry. Na przykład "123", "456", "789".

[a-z]

Dopasowuje dowolną małą literę od "a" do "z".

(dog|cat)

Pasuje do "dog" lub "cat".

Używanie wyrażeń regularnych w programowaniu

Wyrażenia regularne są obsługiwane w wielu językach programowania. Oto przykłady użycia wyrażeń regularnych w Pythonie i JavaScript:

Przykład Pythona

import re

# Search for 'cat' in a string
pattern = r'cat'
text = 'The cat sat on the mat.'
match = re.search(pattern, text)

if match:
    print('Match found:', match.group())
else:
    print('No match found')

Przykład JavaScriptu

// Search for 'cat' in a string
const pattern = /cat/;
const text = 'The cat sat on the mat.';
const match = text.match(pattern);

if (match) {
    console.log('Match found:', match[0]);
} else {
    console.log('No match found');
}

Wniosek

Wyrażenia regularne są potężnym narzędziem do przetwarzania tekstu i ekstrakcji danych. Rozumiejąc podstawową składnię i typowe wzorce, możesz zacząć używać wyrażeń regularnych w swoich projektach, aby usprawnić i ulepszyć możliwości manipulacji tekstem. Ćwicz z różnymi wzorcami i odkrywaj zaawansowane funkcje wyrażeń regularnych, aby zyskać większą biegłość.