Sử dụng biểu thức chính quy

Haskell:
Sử dụng biểu thức chính quy

Cách thực hiện:

Trong Haskell, bạn có thể sử dụng regex với gói regex-tdfa. Ở đây, chúng tôi bắt số từ một chuỗi.

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

main :: IO ()
main = do
  let text = "Đơn hàng 531 có 2 mặt hàng"
  let numbers = text =~ "[0-9]+" :: [String]
  print numbers

Kết quả:

["531","2"]

Để thay thế văn bản, bạn có thể sử dụng subRegex từ regex-compat.

import Text.Regex (subRegex, mkRegex)

main :: IO ()
main = do
  let text = "Xin chào, 2023!"
  let regex = mkRegex "[0-9]+"
  let newText = subRegex regex text "NĂM"
  putStrLn newText

Kết quả:

Xin chào, NĂM!

Tìm hiểu sâu hơn

Biểu thức chính quy có từ những năm 1950, được hình thành bởi nhà toán học Stephen Kleene. Mặc dù Haskell xuất hiện muộn hơn, giờ đây nó có một bộ sưu tập các thư viện regex phong phú như regex-tdfa cho regex POSIX, và regex-pcre cho khả năng tương thích với Perl. Các lựa chọn thay thế cho regex bao gồm các thư viện tổ hợp phân tích cú pháp như parsec, có thể cung cấp độ dễ đọc và bảo dưỡng cao hơn. Regex trong Haskell không được xây dựng vào cú pháp của ngôn ngữ mà được cung cấp thông qua các thư viện này.

Xem thêm