Regex #
Main api for Regex
Regex.build
: build a Regex from the given patternRegex.captures
: searches for the first match of the regexRegex.all_captures
: searches all successive non-overlapping matches of the regex
Instances For
def
Regex.build
(s : String)
(flavor : Syntax.Flavor := default)
(flags : Syntax.Flags := default)
(config : Compiler.Config := default)
(extended : Grammar.ExtendedKind := Grammar.ExtendedKind.None)
:
Build a Regex from the given pattern.
Equations
- Regex.build s flavor flags config extended = do let nfa ← Syntax.AstItems.parse s flavor extended >>= Syntax.translate flags >>= Compiler.compile config flavor Except.ok { nfa := nfa }
Instances For
def
Regex.Log.captures
(s : ValidSubstring)
(re : Regex)
(«at» : ValidPos s.val.str)
(logEnabled : Bool)
:
This routine searches for the first match of this regex in the haystack given, returns an array of log msgs, the overall match and the matches of each capture group
Equations
- One or more equations did not get rendered due to their size.
Instances For
Returns an array of log msgs and all successive non-overlapping matches in the given haystack.
Equations
- Regex.Log.all_captures s re logEnabled = Regex.Log.all_captures_loop✝ s default re logEnabled (#[], #[])
Instances For
This routine searches for the first match of this regex in the haystack given, and if found, returns not only the overall match but also the matches of each capture group in the regex. If no match is found, then None is returned.
Equations
- Regex.captures s re «at» = (fun (x : Array String × Option (Regex.Captures s.val.str)) => x.snd) (Regex.Log.captures s re «at» false)
Instances For
Returns all successive non-overlapping matches in the given haystack.
Equations
- Regex.all_captures s re = (fun (x : Array String × Array (Regex.Captures s.val.str)) => x.snd) (Regex.Log.all_captures s re false)