Sobes.tech
Junior

Какви са регулярните изрази?

sobes.tech AI

Отговор от AI

Редовете изрази са мощен инструмент за търсене, заместване и манипулиране на низове въз основа на шаблони. Те се използват за описание на набори от низове с помощта на компактна синтаксис.

Основните компоненти на редовете изрази:

  • Литерали: Обикновени символи, които съответстват на самите себе си (например, 'a', ',').
  • Метасимволи: Символи със специално значение, например:
    • .: всеки символ, освен нов ред.
    • *: нула или повече повторения на предходния елемент.
    • +: едно или повече повторения на предходния елемент.
    • ?: нула или едно повторение на предходния елемент.
    • ^: началото на низ.
    • $: краят на низ.
    • []: клас на символи (всеки символ вътре в скобите).
    • |: или (алтернатива между модели).
    • (): групиране.
  • Ескейп последователности: Комбинации от символи, започващи с \ (например, \d за цифра, \s за бял символ).

В Swift, редовете изрази се реализират с помощта на класа NSRegularExpression или по-ново Regex.

Пример за използване на Regex в Swift:

// Търсене на всички цифри в низ
let text = "Hello 123 World 456"
let regex = try? Regex("\\d+")

let matches = text.matches(of: regex!)
for match in matches {
    print("Намерените числа: \(match.output)")
}

Редовете изрази се използват широко за валидиране на входни данни (например, имейл, телефонни номера), парсване на текстови данни, търсене на определени поднизове и форматиране на низове.