rexen

Package VersionHex 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: | Operator | Description | Expression | Matches | | -------- | ----------- | ---------- | ------- | | * | Zero or more of the preceding character or group of characters | a* | "", "a", "aa" "aaa" | | + | One or more of the preceding character or group of characters | a+ | "a", "aa", "aaa" | | ? | Zero or one of the preceding character or group of characters | a? | "", "a" | | \| | Matches either the expression before or after the operator | a\|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