Text.Regex.PCRE.Wrap

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

Safe Haskell | None
Language | Haskell98

Text.Regex.PCRE.Wrap

Contents

- High-level interface
- Low-level interface
- Miscellaneous
- CompOption values
- ExecOption values
- ReturnCode values

Description

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

Synopsis

- 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

RegexOptions Regex CompOption ExecOption |

newtype CompOption

Constructors

CompOption CInt |

Instances

Eq CompOption |
Num CompOption |
Show CompOption |
Bits CompOption |
RegexOptions Regex CompOption ExecOption |

newtype ExecOption

Constructors

ExecOption CInt |

Instances

Eq ExecOption |
Num ExecOption |
Show ExecOption |
Bits ExecOption |
RegexOptions Regex CompOption ExecOption |

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

newtype ReturnCode

Constructors

ReturnCode CInt |

Instances

Eq ReturnCode |
Show ReturnCode |

type WrapError = (ReturnCode, String)

wrapCompile

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

wrapTest

Arguments

:: StartOffset | Starting index in CStringLen
-> Regex | Compiled regular expression
-> CStringLen | String to match against and length in bytes
-> IO (Either WrapError Bool) |

wrapMatch

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.

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

## Miscellaneous

getVersion :: Maybe String

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

configUTF8 :: Bool

getNumSubs :: Regex -> Int

unusedOffset :: MatchOffset

## CompOption values

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

## ExecOption values

execBlank :: ExecOption

execAnchored :: ExecOption

execNotBOL :: ExecOption

execNotEOL :: ExecOption

execNotEmpty :: ExecOption

execNoUTF8Check :: ExecOption

execPartial :: ExecOption

## ReturnCode values

retOk :: ReturnCode

retNoMatch :: ReturnCode

retNull :: ReturnCode

retBadOption :: ReturnCode

retBadMagic :: ReturnCode

retUnknownNode :: ReturnCode

retNoMemory :: ReturnCode

retNoSubstring :: ReturnCode