regex-pcre-0.94.2: Replaces/Enhances Text.Regex

Safe HaskellNone

Text.Regex.PCRE.Wrap

Contents

Description

This will fail or error only if allocation fails or a nullPtr is passed in.

Synopsis

High-level interface

(=~) :: (RegexMaker Regex CompOption ExecOption source, RegexContext Regex source1 target) => source1 -> source -> targetSource

(=~~) :: (RegexMaker Regex CompOption ExecOption source, RegexContext Regex source1 target, Monad m) => source1 -> source -> m targetSource

Low-level interface

newtype ReturnCode Source

Constructors

ReturnCode CInt 

wrapCompileSource

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

wrapTestSource

Arguments

:: StartOffset

Starting index in CStringLen

-> Regex

Compiled regular expression

-> CStringLen

String to match against and length in bytes

-> IO (Either WrapError Bool) 

wrapMatchSource

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])Source

wrapMatchAll is an improvement over wrapMatch since it only allocates memory with allocaBytes once at the start.

Miscellaneous

getVersion :: Maybe StringSource

return version of pcre used or Nothing if pcre is not available.

CompOption values

ExecOption values

ReturnCode values