regex-pcre-0.94.4: 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

data Regex Source

A compiled regular expression

Instances

RegexLike Regex String 
RegexLike Regex ByteString 
RegexLike Regex ByteString 
RegexOptions Regex CompOption ExecOption 
RegexContext Regex String String 
RegexContext Regex ByteString ByteString 
RegexContext Regex ByteString ByteString 
RegexMaker Regex CompOption ExecOption String 
RegexMaker Regex CompOption ExecOption ByteString 
RegexMaker Regex CompOption ExecOption ByteString 
RegexMaker Regex CompOption ExecOption (Seq Char) 
RegexLike Regex (Seq Char) 
RegexContext Regex (Seq Char) (Seq Char) 

newtype CompOption Source

Constructors

CompOption CInt 

Instances

Eq CompOption 
Num CompOption 
Show CompOption 
Bits CompOption 
RegexOptions Regex CompOption ExecOption 
RegexMaker Regex CompOption ExecOption String 
RegexMaker Regex CompOption ExecOption ByteString 
RegexMaker Regex CompOption ExecOption ByteString 
RegexMaker Regex CompOption ExecOption (Seq Char) 

newtype ExecOption Source

Constructors

ExecOption CInt 

Instances

Eq ExecOption 
Num ExecOption 
Show ExecOption 
Bits ExecOption 
RegexOptions Regex CompOption ExecOption 
RegexMaker Regex CompOption ExecOption String 
RegexMaker Regex CompOption ExecOption ByteString 
RegexMaker Regex CompOption ExecOption ByteString 
RegexMaker Regex CompOption ExecOption (Seq Char) 

(=~) :: (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 

Instances

type WrapError = (ReturnCode, String)Source

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.

wrapCount :: Regex -> CStringLen -> IO (Either WrapError Int)Source

Miscellaneous

getVersion :: Maybe StringSource

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

CompOption values

ExecOption values

ReturnCode values