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.