Safe Haskell | None |
---|
Text.Regex.PCRE.Wrap
Contents
Description
This will fail or error only if allocation fails or a nullPtr is passed in.
- data Regex
- newtype CompOption = CompOption CInt
- newtype ExecOption = ExecOption CInt
- (=~) :: (RegexMaker Regex CompOption ExecOption source, RegexContext Regex source1 target) => source1 -> source -> target
- (=~~) :: (RegexMaker Regex CompOption ExecOption source, RegexContext Regex source1 target, Monad m) => source1 -> source -> m target
- type StartOffset = MatchOffset
- type EndOffset = MatchOffset
- newtype ReturnCode = ReturnCode CInt
- type WrapError = (ReturnCode, String)
- wrapCompile :: CompOption -> ExecOption -> CString -> IO (Either (MatchOffset, String) Regex)
- wrapTest :: StartOffset -> Regex -> CStringLen -> IO (Either WrapError Bool)
- wrapMatch :: StartOffset -> Regex -> CStringLen -> IO (Either WrapError (Maybe [(StartOffset, EndOffset)]))
- wrapMatchAll :: Regex -> CStringLen -> IO (Either WrapError [MatchArray])
- wrapCount :: Regex -> CStringLen -> IO (Either WrapError Int)
- getVersion :: Maybe String
- configUTF8 :: Bool
- getNumSubs :: Regex -> Int
- unusedOffset :: MatchOffset
- compBlank :: CompOption
- compAnchored :: CompOption
- compAutoCallout :: CompOption
- compCaseless :: CompOption
- compDollarEndOnly :: CompOption
- compDotAll :: CompOption
- compExtended :: CompOption
- compExtra :: CompOption
- compFirstLine :: CompOption
- compMultiline :: CompOption
- compNoAutoCapture :: CompOption
- compUngreedy :: CompOption
- compUTF8 :: CompOption
- compNoUTF8Check :: CompOption
- execBlank :: ExecOption
- execAnchored :: ExecOption
- execNotBOL :: ExecOption
- execNotEOL :: ExecOption
- execNotEmpty :: ExecOption
- execNoUTF8Check :: ExecOption
- execPartial :: ExecOption
- retOk :: ReturnCode
- retNoMatch :: ReturnCode
- retNull :: ReturnCode
- retBadOption :: ReturnCode
- retBadMagic :: ReturnCode
- retUnknownNode :: ReturnCode
- retNoMemory :: ReturnCode
- retNoSubstring :: ReturnCode
High-level interface
data Regex
A compiled regular expression
Instances
(=~) :: (RegexMaker Regex CompOption ExecOption source, RegexContext Regex source1 target) => source1 -> source -> target
(=~~) :: (RegexMaker Regex CompOption ExecOption source, RegexContext Regex source1 target, Monad m) => source1 -> source -> m target
Low-level interface
type StartOffset = MatchOffset
type EndOffset = MatchOffset
type WrapError = (ReturnCode, String)
Arguments
:: CompOption | Flags (summed together) |
-> ExecOption | Flags (summed together) |
-> CString | The regular expression to compile |
-> IO (Either (MatchOffset, String) Regex) | Returns: an error offset and string or the compiled regular expression |
Compiles a regular expression
Arguments
:: StartOffset | Starting index in CStringLen |
-> Regex | Compiled regular expression |
-> CStringLen | String to match against and length in bytes |
-> IO (Either WrapError Bool) |
Arguments
:: StartOffset | Starting index in CStringLen |
-> Regex | Compiled regular expression |
-> CStringLen | String to match against and length in bytes |
-> IO (Either WrapError (Maybe [(StartOffset, EndOffset)])) | Returns: 'Right Nothing' if the regex did not match the string, or: 'Right Just' an array of (offset,length) pairs where index 0 is whole match, and the rest are the captured subexpressions, or: 'Left ReturnCode' if there is some strange error |
Matches a regular expression against a string
Should never return (Right (Just []))
wrapMatchAll :: Regex -> CStringLen -> IO (Either WrapError [MatchArray])
wrapMatchAll is an improvement over wrapMatch since it only allocates memory with allocaBytes once at the start.
Miscellaneous
return version of pcre used or Nothing if pcre is not available.
configUTF8 :: Bool
getNumSubs :: Regex -> Int
CompOption values
ExecOption values
ReturnCode values
retOk :: ReturnCode