Clojure:
Использование регулярных выражений
Как использовать:
(require '[clojure.string :as str])
;; 1. Сопоставление
(re-matches #"\d+" "123") ;; => "123"
(re-matches #"\d+" "abc") ;; => nil
;; 2. Поиск
(re-find #"\d+" "Заказ 100 яблок") ;; => "100"
;; 3. Замена
(str/replace "2023-03-15" #"\d{4}" "ГГГГ") ;; => "ГГГГ-03-15"
;; 4. Разделение
(str/split "один,два,три" #",") ;; => ["один" "два" "три"]
Погружение в детали
Регулярные выражения имеют богатую историю, восходящую к теоретическим работам 1950-х годов Стивена Коула Клини. Альтернативы regex включают функции строки, такие как indexOf
, substring
, и библиотеки разбора; однако, regex часто предоставляет более краткое решение. Возможности регулярных выражений в Clojure основаны на классе Pattern
Java, предоставляя мощный поиск по шаблону непосредственно в языке.