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

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

Как использовать:

В Haskell регулярные выражения можно использовать с пакетом regex-tdfa. Здесь мы извлекаем числа из строки.

import Text.Regex.TDFA ((=~))

main :: IO ()
main = do
  let text = "Order 531 has 2 items"
  let numbers = text =~ "[0-9]+" :: [String]
  print numbers

Вывод:

["531","2"]

Чтобы заменить текст, можно использовать subRegex из regex-compat.

import Text.Regex (subRegex, mkRegex)

main :: IO ()
main = do
  let text = "Hello, 2023!"
  let regex = mkRegex "[0-9]+"
  let newText = subRegex regex text "YEAR"
  putStrLn newText

Вывод:

Hello, YEAR!

Подробнее

Регулярные выражения восходят к 1950-м годам, они были концептуализированы математиком Стивеном Клини. Хотя Haskell пришел к этому позднее, сейчас в нем существует богатый набор библиотек regex, таких как regex-tdfa для POSIX regex и regex-pcre для совместимости с Perl. Альтернативы regex включают в себя библиотеки парсер-комбинаторов, такие как parsec, которые могут предложить большую читаемость и обслуживаемость. Регулярные выражения в Haskell не встроены в синтаксис языка напрямую, но предоставляются через эти библиотеки.

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