Sobes.tech
Junior

Czym są wyrażenia regularne?

sobes.tech AI

Odpowiedź od AI

Wyrażenia regularne to potężne narzędzie do wyszukiwania, zamiany i manipulacji łańcuchami tekstowymi na podstawie wzorców. Służą do opisywania zbiorów łańcuchów za pomocą zwartej składni.

Główne składniki wyrażeń regularnych:

  • Literały: zwykłe znaki, które odpowiadają sobie (np. 'a', ',').
  • Metaznaki: znaki o specjalnym znaczeniu, na przykład:
    • .: dowolny znak, oprócz znaku nowej linii.
    • *: zero lub więcej powtórzeń poprzedniego elementu.
    • +: jedno lub więcej powtórzeń poprzedniego elementu.
    • ?: zero lub jedno powtórzenie poprzedniego elementu.
    • ^: początek łańcucha.
    • $: koniec łańcucha.
    • []: klasa znaków (dowolny znak wewnątrz nawiasów kwadratowych).
    • |: lub (alternatywa między wzorcami).
    • (): grupowanie.
  • Sekwencje ucieczki: kombinacje znaków rozpoczynające się od \ (np. \d dla cyfry, \s dla spacji).

W Swift wyrażenia regularne są implementowane przy użyciu klasy NSRegularExpression lub, bardziej nowoczesnie, Regex.

Przykład użycia Regex w Swift:

// Szukanie wszystkich cyfr w łańcuchu
let text = "Hello 123 World 456"
let regex = try? Regex("\\d+")

let matches = text.matches(of: regex!)
for match in matches {
    print("Znalezione liczby: \(match.output)")
}

Wyrażenia regularne są szeroko stosowane do walidacji danych wejściowych (np. email, numery telefonów), parsowania danych tekstowych, wyszukiwania określonych podłańcuchów i formatowania łańcuchów.