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

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

Cách thực hiện:

Elm không có khả năng regex tích hợp sẵn, nhưng bạn có thể sử dụng gói elm/regex. Dưới đây là cách sử dụng regex cho các nhiệm vụ phổ biến:

import Regex exposing (..)

-- Các ví dụ về cách sử dụng regex trong Elm --

-- Kiểm tra xem một chuỗi có chứa "hello" không
checkForHello : String -> Bool
checkForHello input =
    let
        pattern = "hello"
        regex = Regex.fromString pattern |> Maybe.withDefault (regex ".")
    in
    Regex.contains regex input

-- Kết quả mẫu
checkForHello "hello, world!" -- True

-- Trích xuất các chữ số từ một chuỗi
extractDigits : String -> List String
extractDigits input =
    let
        regex = Regex.fromString "\\d+" |> Maybe.withDefault (regex ".")
    in
    Regex.find (All) regex input |> List.map .match

-- Kết quả mẫu
extractDigits "elm123rocks" -- ["123"]

Nhớ rằng, bạn cần xử lý Maybe cho các kết quả không khớp mẫu khi sử dụng Regex.fromString.

Sâu hơn nữa

Regex có nguồn gốc từ những năm 1950, với cơ sở trong lý thuyết automata và lý thuyết ngôn ngữ hình thức. Theo thời gian, regex trở thành một công cụ mạnh mẽ trong xử lý văn bản, được tích hợp vào nhiều ngôn ngữ lập trình và các tiện ích dòng lệnh.

Các phương án thay thế cho regex trong Elm bao gồm các hàm chuỗi như String.contains, String.startsWith, String.split, v.v. Mặc dù đơn giản hơn, chúng kém mạnh mẽ hơn cho việc khớp mẫu phức tạp.

Về mặt thực hiện, regex trong Elm được xây dựng trên cơ sở động cơ regex của JavaScript, nhờ vào thời gian chạy của Elm. Điều này có nghĩa là hành vi regex trong Elm có thể phản ánh các khả năng và hạn chế của JavaScript.

Xem thêm