Использование регулярных выражений

Elixir:
Использование регулярных выражений

Как это сделать:

В Elixir вы используете regex с встроенными шаблонами или создавая свои с помощью модуля Regex. Вот быстрый пример:

# Поиск слова "hello"
regex = ~r/hello/
"hello world" =~ regex
# => true

# Поиск без учета регистра
regex = ~r/hello/i
"Hello world" =~ regex
# => true

# Замена "world" на "Elixir"
"hello world" |> String.replace(~r/world/, "Elixir")
# => "hello Elixir"

Углубленный раздел

Регулярные выражения были изобретены в 1950-х годах математиком Стивеном Клини. Elixir реализует regex через библиотеку PCRE (Perl Compatible Regular Expressions), которая надежно сопоставляет шаблоны. Существуют альтернативы, такие как сопоставление строк с String.contains?/2 или String.starts_with?/2, но они не обладают гибкостью, которую предлагает regex. Модуль Regex в Elixir компилирует шаблоны во внутренний формат, оптимизированный для повторного использования, экономя время вычислений.

Смотрите также

  • Документация по модулю Regex в Elixir: https://hexdocs.pm/elixir/Regex.html
  • Regex101, онлайн-тестер и отладчик regex: https://regex101.com/
  • “Программирование на Elixir” Дэйва Томаса - подробное руководство, которое также охватывает использование regex.