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 # |
Methods blankCompOpt :: CompOption # blankExecOpt :: ExecOption # defaultCompOpt :: CompOption # defaultExecOpt :: ExecOption # setExecOpts :: ExecOption -> Regex -> Regex # getExecOpts :: Regex -> ExecOption #

newtype CompOption #

Constructors

CompOption CInt |

Instances

Eq CompOption # |
Methods (==) :: CompOption -> CompOption -> Bool # (/=) :: CompOption -> CompOption -> Bool #
Num CompOption # |
Methods (+) :: CompOption -> CompOption -> CompOption # (-) :: CompOption -> CompOption -> CompOption # (*) :: CompOption -> CompOption -> CompOption # negate :: CompOption -> CompOption # abs :: CompOption -> CompOption # signum :: CompOption -> CompOption # fromInteger :: Integer -> CompOption #
Show CompOption # |
Methods showsPrec :: Int -> CompOption -> ShowS # show :: CompOption -> String # showList :: [CompOption] -> ShowS #
Bits CompOption # |
Methods (.&.) :: CompOption -> CompOption -> CompOption # (.|.) :: CompOption -> CompOption -> CompOption # xor :: CompOption -> CompOption -> CompOption # complement :: CompOption -> CompOption # shift :: CompOption -> Int -> CompOption # rotate :: CompOption -> Int -> CompOption # zeroBits :: CompOption # bit :: Int -> CompOption # setBit :: CompOption -> Int -> CompOption # clearBit :: CompOption -> Int -> CompOption # complementBit :: CompOption -> Int -> CompOption # testBit :: CompOption -> Int -> Bool # bitSizeMaybe :: CompOption -> Maybe Int # bitSize :: CompOption -> Int # isSigned :: CompOption -> Bool # shiftL :: CompOption -> Int -> CompOption # unsafeShiftL :: CompOption -> Int -> CompOption # shiftR :: CompOption -> Int -> CompOption # unsafeShiftR :: CompOption -> Int -> CompOption # rotateL :: CompOption -> Int -> CompOption # rotateR :: CompOption -> Int -> CompOption # popCount :: CompOption -> Int #
RegexOptions Regex CompOption ExecOption # |
Methods blankCompOpt :: CompOption # blankExecOpt :: ExecOption # defaultCompOpt :: CompOption # defaultExecOpt :: ExecOption # setExecOpts :: ExecOption -> Regex -> Regex # getExecOpts :: Regex -> ExecOption #

newtype ExecOption #

Constructors

ExecOption CInt |

Instances

Eq ExecOption # |
Methods (==) :: ExecOption -> ExecOption -> Bool # (/=) :: ExecOption -> ExecOption -> Bool #
Num ExecOption # |
Methods (+) :: ExecOption -> ExecOption -> ExecOption # (-) :: ExecOption -> ExecOption -> ExecOption # (*) :: ExecOption -> ExecOption -> ExecOption # negate :: ExecOption -> ExecOption # abs :: ExecOption -> ExecOption # signum :: ExecOption -> ExecOption # fromInteger :: Integer -> ExecOption #
Show ExecOption # |
Methods showsPrec :: Int -> ExecOption -> ShowS # show :: ExecOption -> String # showList :: [ExecOption] -> ShowS #
Bits ExecOption # |
Methods (.&.) :: ExecOption -> ExecOption -> ExecOption # (.|.) :: ExecOption -> ExecOption -> ExecOption # xor :: ExecOption -> ExecOption -> ExecOption # complement :: ExecOption -> ExecOption # shift :: ExecOption -> Int -> ExecOption # rotate :: ExecOption -> Int -> ExecOption # zeroBits :: ExecOption # bit :: Int -> ExecOption # setBit :: ExecOption -> Int -> ExecOption # clearBit :: ExecOption -> Int -> ExecOption # complementBit :: ExecOption -> Int -> ExecOption # testBit :: ExecOption -> Int -> Bool # bitSizeMaybe :: ExecOption -> Maybe Int # bitSize :: ExecOption -> Int # isSigned :: ExecOption -> Bool # shiftL :: ExecOption -> Int -> ExecOption # unsafeShiftL :: ExecOption -> Int -> ExecOption # shiftR :: ExecOption -> Int -> ExecOption # unsafeShiftR :: ExecOption -> Int -> ExecOption # rotateL :: ExecOption -> Int -> ExecOption # rotateR :: ExecOption -> Int -> ExecOption # popCount :: ExecOption -> Int #
RegexOptions Regex CompOption ExecOption # |
Methods blankCompOpt :: CompOption # blankExecOpt :: ExecOption # defaultCompOpt :: CompOption # defaultExecOpt :: ExecOption # setExecOpts :: ExecOption -> Regex -> Regex # getExecOpts :: Regex -> 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 # |
Methods (==) :: ReturnCode -> ReturnCode -> Bool # (/=) :: ReturnCode -> ReturnCode -> Bool #
Show ReturnCode # |
Methods showsPrec :: Int -> ReturnCode -> ShowS # show :: ReturnCode -> String # showList :: [ReturnCode] -> ShowS #

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 #