MC, 2025
Ilustracja do artykułu: Javascript Regex: Potęga wyrażeń regularnych w Javascript!

Javascript Regex: Potęga wyrażeń regularnych w Javascript!

Wyrażenia regularne, znane również jako regex, to potężne narzędzie w programowaniu, które pozwala na manipulację tekstem w sposób szybki i efektywny. Jeśli jeszcze nie odkryłeś ich mocy w JavaScripcie, ten artykuł jest dla Ciebie! Przeprowadzimy Cię przez świat regex w JavaScripcie, pokażemy jak ich używać, a także przedstawimy kilka praktycznych przykładów, które mogą przydać się w codziennej pracy programisty.

1. Co to jest wyrażenie regularne (Regex)?

Wyrażenie regularne to ciąg znaków, który definiuje wzorzec tekstowy. Jest to sposób na "dopasowanie" lub "dopasowanie i manipulowanie" tekstami w sposób bardziej skomplikowany niż zwykłe metody stringowe. Dzięki wyrażeniom regularnym można znaleźć, zamienić lub usunąć fragmenty tekstu, które spełniają określony wzorzec. Regex w JavaScripcie pozwala na wydajne przetwarzanie tekstów, na przykład sprawdzanie poprawności adresów e-mail, numerów telefonów, czy nawet kodów pocztowych.

2. Podstawowa składnia wyrażeń regularnych w Javascript

Wyrażenia regularne w JavaScripcie są tworzone za pomocą specjalnych "literali" lub za pomocą obiektów Regex. Oto najprostsze przykłady:

// Literal wyrażenie regularne
const regex = /hello/;

// Obiekt Regex
const regexObj = new RegExp('hello');

W tym przypadku oba przykłady definiują wyrażenie regularne, które pasuje do ciągu "hello". Można zatem używać takiego wzorca do znajdowania tego słowa w danym ciągu tekstowym. Zwykle jednak wyrażenia regularne zawierają także różne metadane (np. znaki specjalne) pozwalające na większą elastyczność.

3. Kluczowe elementy wyrażeń regularnych w JavaScript

Oto niektóre podstawowe elementy i symbole, które spotykamy w regex w JavaScripcie:

  • . - Dowolny pojedynczy znak (z wyjątkiem znaku nowej linii)
  • d - Cyfra (0-9)
  • D - Nie-cyfra (wszystko oprócz 0-9)
  • w - Dowolny znak alfanumeryczny (literka + cyfra + _)
  • W - Nie-alfanumeryczny znak
  • s - Dowolny biały znak (spacja, tabulator, nowa linia)
  • S - Dowolny znak, który nie jest białym znakiem
  • ^ - Dopasowanie do początku ciągu
  • $ - Dopasowanie do końca ciągu
  • + - Dopasowanie jednego lub więcej wystąpień poprzedniego elementu
  • ? - Dopasowanie z zerową lub jedną ilością poprzedniego elementu
  • {n} - Dopasowanie dokładnie n wystąpień poprzedniego elementu
  • [] - Zestaw znaków (np. [aeiou] - dopasuje jedną z samogłosk)
  • () - Grupa, umożliwiająca uchwycenie podciągu tekstu

4. Przykłady użycia Regex w JavaScripcie

Teraz, gdy już znasz podstawową składnię i kluczowe elementy wyrażeń regularnych, czas przejść do praktycznych przykładów. Pokażemy kilka najczęściej spotykanych zastosowań, które mogą okazać się przydatne w codziennej pracy programisty.

Przykład 1: Walidacja numeru telefonu

Załóżmy, że chcemy sprawdzić, czy numer telefonu wpisany przez użytkownika jest zgodny z określonym wzorcem, np. "123-456-7890". Wyrażenie regularne do walidacji tego numeru mogłoby wyglądać następująco:

const phoneRegex = /^d{3}-d{3}-d{4}$/;
const phoneNumber = '123-456-7890';

if (phoneRegex.test(phoneNumber)) {
  console.log("Numer telefonu jest poprawny!");
} else {
  console.log("Numer telefonu jest niepoprawny.");
}

W tym przypadku używamy wyrażenia regularnego ^d{3}-d{3}-d{4}$, które oznacza: 3 cyfry, myślnik, 3 cyfry, myślnik i 4 cyfry. Metoda test() sprawdza, czy ciąg tekstowy pasuje do wzorca.

Przykład 2: Sprawdzanie poprawności adresu e-mail

Walidacja adresu e-mail jest jednym z najczęściej spotykanych zastosowań regex. Oto przykład, jak sprawdzić poprawność adresu e-mail:

const emailRegex = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+.[a-zA-Z]{2,6}$/;
const email = 'test@example.com';

if (emailRegex.test(email)) {
  console.log("Adres e-mail jest poprawny!");
} else {
  console.log("Adres e-mail jest niepoprawny.");
}

Wyrażenie regularne ^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+.[a-zA-Z]{2,6}$ sprawdza, czy adres e-mail zawiera odpowiednią strukturę: część lokalną, znak @, domenę i rozszerzenie. Metoda test() weryfikuje, czy ciąg jest zgodny z tym wzorcem.

Przykład 3: Wyszukiwanie wszystkich wystąpień słowa w tekście

Czasami chcemy znaleźć wszystkie wystąpienia danego słowa w tekście. W tym przypadku możemy użyć metody match() oraz wyrażenia regularnego:

const text = "Jestem programistą. Programista zawsze koduje.";
const wordRegex = /programistą?/gi; // 'gi' - globalne i ignorowanie wielkości liter

const matches = text.match(wordRegex);
console.log(matches); // ['programistą', 'Programista']

W tym przykładzie używamy wyrażenia regularnego /programistą?/gi, które znajduje wszystkie wystąpienia słowa "programista" w tekście (niezależnie od wielkości liter). Flagi g (globalne) oraz i (ignorowanie wielkości liter) sprawiają, że możemy znaleźć wszystkie wystąpienia, niezależnie od ich pozycji czy formy.

5. Podsumowanie

Wyrażenia regularne (regex) w JavaScripcie to niezwykle potężne narzędzie, które pozwala na precyzyjne manipulowanie tekstem. Dzięki regex możesz walidować dane, wyszukiwać wzorce, modyfikować tekst i wiele więcej! Choć na początku regex może wydawać się trudne, z czasem staje się nieocenionym sojusznikiem w codziennej pracy programisty.

W artykule omówiliśmy podstawowe składniki wyrażeń regularnych oraz przedstawiliśmy kilka przykładowych zastosowań w JavaScripcie. Jeśli jeszcze nie opanowałeś regex, nie martw się – najlepszym sposobem na naukę jest praktyka! Próbuj tworzyć własne wyrażenia regularne i wykorzystywać je w różnych zadaniach programistycznych. Wkrótce przekonasz się, jak wiele potrafią!

Komentarze (0) - Nikt jeszcze nie komentował - bądź pierwszy!

Imię:
Treść: