Text.Regex.PCRE.Sequence

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

Safe Haskell | None
Language | Haskell98

Text.Regex.PCRE.Sequence

Contents

- Types
- Miscellaneous
- Medium level API functions
- Constants for CompOption
- Constants for ExecOption
- Orphan instances

Description

This exports instances of the high level API and the medium level API of `compile`,`execute`, and `regexec`.

Synopsis

- data Regex
- type MatchOffset = Int
- type MatchLength = Int
- newtype CompOption = CompOption CInt
- newtype ExecOption = ExecOption CInt
- data ReturnCode
- type WrapError = (ReturnCode, String)
- unusedOffset :: MatchOffset
- getVersion :: Maybe String
- compile :: CompOption -> ExecOption -> Seq Char -> IO (Either (MatchOffset, String) Regex)
- execute :: Regex -> Seq Char -> IO (Either WrapError (Maybe (Array Int (MatchOffset, MatchLength))))
- regexec :: Regex -> Seq Char -> IO (Either WrapError (Maybe (Seq Char, Seq Char, Seq Char, [Seq Char])))
- 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

## Types

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 #

type MatchOffset = Int #

0 based index from start of source, or (-1) for unused

type MatchLength = Int #

non-negative length of a match

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 #

data ReturnCode #

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) #

## Miscellaneous

unusedOffset :: MatchOffset #

getVersion :: Maybe String #

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

## Medium level API functions

compile #

Arguments

:: CompOption | Flags (summed together)
-> ExecOption | Flags (summed together)
-> Seq Char | The regular expression to compile
-> IO (Either (MatchOffset, String) Regex) | Returns: an error string and offset or the compiled regular expression

Compiles a regular expression

execute #

Arguments

:: Regex | Compiled regular expression
-> Seq Char | (Seq Char) to match against
-> IO (Either WrapError (Maybe (Array Int (MatchOffset, MatchLength)))) | Returns: `Nothing` if the regex did not match the string, or: `Just` an array of (offset,length) pairs where index 0 is whole match, and the rest are the captured subexpressions.

Matches a regular expression against a string

regexec #

Arguments

:: Regex | compiled regular expression
-> Seq Char | string to match
-> IO (Either WrapError (Maybe (Seq Char, Seq Char, Seq Char, [Seq Char]))) | Returns: Nothing if no match, else (text before match, text after match, array of matches with 0 being the whole match)

execute match and extract substrings rather than just offsets

## Constants for CompOption

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 #

## Constants for ExecOption

execBlank :: ExecOption #

execAnchored :: ExecOption #

execNotBOL :: ExecOption #

execNotEOL :: ExecOption #

execNotEmpty :: ExecOption #

execNoUTF8Check :: ExecOption #

execPartial :: ExecOption #

# Orphan instances

RegexMaker Regex CompOption ExecOption (Seq Char) # |
Methods makeRegex :: Seq Char -> Regex # makeRegexOpts :: CompOption -> ExecOption -> Seq Char -> Regex # makeRegexM :: Monad m => Seq Char -> m Regex # makeRegexOptsM :: Monad m => CompOption -> ExecOption -> Seq Char -> m Regex #
RegexLike Regex (Seq Char) # |
Methods matchOnce :: Regex -> Seq Char -> Maybe MatchArray # matchAll :: Regex -> Seq Char -> [MatchArray] # matchCount :: Regex -> Seq Char -> Int # matchTest :: Regex -> Seq Char -> Bool # matchAllText :: Regex -> Seq Char -> [MatchText (Seq Char)] # matchOnceText :: Regex -> Seq Char -> Maybe (Seq Char, MatchText (Seq Char), Seq Char) #
RegexContext Regex (Seq Char) (Seq Char) # |
Methods match :: Regex -> Seq Char -> Seq Char # matchM :: Monad m => Regex -> Seq Char -> m (Seq Char) #