Samouczek dla początkujących dotyczący wyrażeń regularnych

Wyrażenia regularne, często nazywane regex lub regexp, to sekwencje znaków definiujące wzorzec wyszukiwania. Są powszechnie używane do dopasowywania ciągów, zastępowania podciągów i wydobywania informacji z tekstu.

Dlaczego warto uczyć się wyrażeń regularnych?

Nauka wyrażeń regularnych może znacznie poprawić Twoje umiejętności obsługi danych tekstowych. Za pomocą wyrażenia regularnego możesz:

  • Wyszukaj określone wzorce w tekście.
  • Zweryfikuj dane wejściowe, takie jak adresy e-mail i numery telefonów.
  • Wyodrębnij określone części tekstu, takie jak daty i adresy URL.
  • Zamień podciągi w tekście na podstawie wzorców.

Podstawowe składniki wyrażeń regularnych

Regex składa się z literalnych znaków i metaznaków. Oto niektóre z podstawowych komponentów:

  • Znaki dosłowne: Znaki pasujące do siebie. Na przykład a odpowiada "a".
  • Metaznaki: Znaki specjalne o określonym znaczeniu, np. ., *, *+ i ?.

Typowe metaznaki i ich znaczenie

Zrozumienie metaznaków jest kluczem do opanowania wyrażeń regularnych. Oto niektóre z najczęściej używanych:

  • . - Dopasowuje dowolny pojedynczy znak z wyjątkiem nowej linii.
  • * - Dopasowuje 0 lub więcej powtórzeń poprzedniego elementu.
  • + - Dopasowuje 1 lub więcej powtórzeń poprzedniego elementu.
  • ? - Dopasowuje 0 lub 1 powtórzenie poprzedniego elementu.
  • [] — dopasowuje dowolny znak w nawiasach.
  • {} – Określa określoną liczbę wystąpień poprzedzającego elementu.
  • () — grupuje wiele tokenów i tworzy grupy przechwytywania.
  • | - Działa jako operator OR.

Podstawowe wzorce wyrażeń regularnych z przykładami

Przyjrzyjmy się kilku podstawowym wzorcom wyrażeń regularnych i ich działaniu:

cat

Pasuje dokładnie do ciągu "cat".

.at

Dopasowuje dowolny ciąg zawierający pojedynczy znak, po którym następuje "at", na przykład "cat", "bat", "hat".

\d{3}

Dopasowuje dokładnie trzy cyfry, takie jak "123", "456", "789".

[a-z]

Pasuje do dowolnej małej litery od "a" do "z".

(dog|cat)

Pasuje do "dog" lub "cat".

Używanie wyrażeń regularnych w językach programowania

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

Przykład Pythona

import re

# Search for 'dog' in a string
pattern = r'dog'
text = 'The dog barked loudly.'
match = re.search(pattern, text)

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

Przykład JavaScriptu

// Search for 'dog' in a string
const pattern = /dog/;
const text = 'The dog barked loudly.';
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 dla każdego, kto zajmuje się przetwarzaniem tekstu. Rozumiejąc i ćwicząc podstawowe komponenty i wzorce, możesz znacznie poprawić swoje umiejętności obsługi i manipulowania tekstem w swoich projektach programistycznych. Eksperymentuj z różnymi wzorami i pogłębiaj swoją wiedzę, aby odblokować pełny potencjał wyrażeń regularnych.