rexen

Package Version Hex Docs

gleam add rexen
import rexen

pub fn main() {
    let assert Ok(nfa) = rexen.new("(ab)*")
    rexen.compute(nfa, "ab") // -> True
    rexen.compute(nfa, "ababab") // -> True
    rexen.compute(nfa, "ababa") // -> False
    rexen.compute(nfa, "a") // -> False
}

Features

Rexen supports a core set of regular expression operations, including:

OperatorDescriptionExpressionMatches
*Zero or more of the preceding character or group of charactersa*“”, “a”, “aa” “aaa”
+One or more of the preceding character or group of charactersa+“a”, “aa”, “aaa”
?Zero or one of the preceding character or group of charactersa?“”, “a”
|Matches either the expression before or after the operatora|b“a”, “b”
()Groups characters or expressions(ab)+“ab”, “abab”, “ababab”

Note: Concatenation is implicit in rexen. ie the expression abc matches a followed by b and c - “abc”

Further documentation can be found at https://hexdocs.pm/rexen.

Development

gleam test  # Run the tests
Search Document