Elm:
Att använda reguljära uttryck
Hur man gör:
Elm har inte inbyggda regex-funktioner i sitt kärnbibliotek, vilket kräver användning av tredjepartsbibliotek för dessa operationer. Ett av de populära valen för att arbeta med regex är elm/regex. Du kan lägga till det i ditt projekt genom att använda elm install elm/regex.
Så här kan du använda elm/regex för några vanliga uppgifter:
1. Matcha ett mönster
För att kontrollera om en sträng matchar ett mönster kan du använda Regex.contains.
import Regex
pattern : Regex.Regex
pattern = Regex.fromString "^[a-zA-Z0-9]+$" |> Maybe.withDefault Regex.never
isAlphanumeric : String -> Bool
isAlphanumeric input = Regex.contains pattern input
-- Exempelanvändning:
isAlphanumeric "Elm2023" -- Utdata: True
isAlphanumeric "Elm 2023!" -- Utdata: False2. Hitta alla matchningar
För att hitta alla förekomster av ett mönster inom en sträng kan du använda Regex.find.
matches : Regex.Regex
matches = Regex.fromString "\\b\\w+\\b" |> Maybe.withDefault Regex.never
getWords : String -> List String
getWords input =
input
|> Regex.find matches
|> List.map (.match)
-- Exempelanvändning:
getWords "Elm is fun!" -- Utdata: ["Elm", "is", "fun"]3. Ersätta text
För att ersätta delar av en sträng som matchar ett mönster använder du Regex.replace.
replacePattern : Regex.Regex
replacePattern = Regex.fromString "Elm" |> Maybe.withDefault Regex.never
replaceElmWithHaskell : String -> String
replaceElmWithHaskell input =
Regex.replace replacePattern (\_ -> "Haskell") input
-- Exempelanvändning:
replaceElmWithHaskell "Learning Elm is fun!"
-- Utdata: "Learning Haskell is fun!"I dessa exempel används Regex.fromString för att kompilera ett regex-mönster, där \b matchar ordgränser, och \w matchar vilket ordtecken som helst. Hantera alltid Maybe-resultatet av Regex.fromString för att skydda mot ogiltiga regex-mönster, vanligtvis med Maybe.withDefault.