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.