úÎ1™/U&      !"#$%non-portable (MPTC+FD) experimental>libraries@haskell.org, textregexlazy@personal.mightyreason.com$@Extract allows for indexing operations on String or ByteString. before is a renamed take after is a renamed drop CFor when there is no match, this can construct an empty data value 5extract takes an offset and length and has a default  implementation of -extract (off,len) source = before len (after  off source) 9RegexContext is the polymorphic interface to do matching =RegexLike is parametrized on a regular expression type and a % source type to run the matching on. ?There are default implementations: matchTest and matchOnceText 4 using matchOnce; matchCount and matchAllText using : matchAll. matchOnce uses matchOnceText and matchAll uses > matchAllText. So a minimal complete instance need to provide > (matchOnce or matchOnceText) and (matchAll or matchAllText). @This can return an array of (offset,length) index pairs for the  match and captured substrings. >This can return a tuple of three items: the source before the B match, an array of the match and captured substrings (with their + indices), and the source after the match. 9RegexMaker captures the creation of the compiled regular 8 expression from a source type and an option type. The  E function has a default implementation that depends on makeRegexOpts  and used  and . 1make using the defaultCompOpt and defaultExecOpt Specify your own options ARather than carry them around spearately, the options for how to E execute a regex are kept as part of the regex. There are two types C of options. Those that can only be specified at compilation time E and never changed are CompOpt. Those that can be changed later and C affect how matching is performed are ExecOpt. The actually types " for these depend on the backend. %no options set at all in the backend %no options set at all in the backend <reasonable options (extended,caseSensitive,multiline regex) <reasonable options (extended,caseSensitive,multiline regex) "forget old flags and use new ones retrieve the current flags *This is the same as the type from JRegex.  !A0 based array, with 0th index indicating the full match. If the ; full match location is not available, represent as (0,0). "non-negative length of a match #70 based index from start of source, or (-1) for unused $  !"#$#"!  $   !"#non-portable (MPTC+FD) experimental>libraries@haskell.org, textregexlazy@personal.mightyreason.com&'()non-portable (MPTC+FD) experimental>libraries@haskell.org, textregexlazy@personal.mightyreason.com$  !"#,non-portable (Text.Regex.Base needs MPTC+FD) experimental>libraries@haskell.org, textregexlazy@personal.mightyreason.com*+$%$%$%$%,      !"#$%&'()*+,-.-./regex-base-0.72.0.2Text.Regex.Base.RegexLikeText.Regex.Base.ImplText.Regex.Base.ContextText.Regex.BaseExtractbeforeafteremptyextract RegexContextmatchmatchM RegexLikematchAll matchOnce matchCount matchTest matchAllText matchOnceText RegexMaker makeRegex makeRegexOpts RegexOptions blankCompOpt blankExecOptdefaultCompOptdefaultExecOpt setExecOpts getExecOpts MatchResultMRmrBeforemrMatchmrAfter mrSubListmrSubs MatchText MatchArray MatchLength MatchOffset polymatch polymatchM nullArraynullFail regexFailedactOn