A regular expression library based on a backtracking engine.
test "basic" {
let regexp = @regexp.compile!(
"^(?<addr>[a-zA-Z0-9._%+-]+)@(?<host>[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,})$",
)
let match_result = regexp.matches("12345@test.com")
@json.inspect!(match_result.success(), content=true)
@json.inspect!(match_result.captures(), content=[
"12345@test.com", "12345", "test.com",
])
@json.inspect!(match_result.named_captures(), content={
"addr": "12345",
"host": "test.com",
})
}type MatchResultpub(all) enum ParseError {
InternalParserError
UnmatchedGroupBegin(Int)
UnmatchedGroupEnd(Int)
UnmatchedGroupName(Int)
EmptyGroupName(Int)
EmptyGroup(Int)
UnmatchedCharClassEnd(Int)
UnspecifiedLoopTarget(Int)
InvalidLoop(Int)
LoopCountOutOfRange(Int)
LoopMaxCountSmallerThanMinCount(Int)
EndPatternAtEscape(Int)
ClassMissingBracket(Int)
GroupMissingParen(Int)
}type RegExpInstall
Download zipA regular expression library based on a backtracking engine.