Text.Regex.PCRE.Sequence

regex-pcre-0.95.0.0: PCRE Backend for "Text.Regex" (regex-base)

Safe Haskell | None
Language | Haskell2010

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

Instances details

RegexLike Regex ByteString # |
Instance details Defined in Text.Regex.PCRE.ByteString Methods matchOnce :: Regex -> ByteString -> Maybe MatchArray # matchAll :: Regex -> ByteString -> [MatchArray] # matchCount :: Regex -> ByteString -> Int # matchTest :: Regex -> ByteString -> Bool # matchAllText :: Regex -> ByteString -> [MatchText ByteString] # matchOnceText :: Regex -> ByteString -> Maybe (ByteString, MatchText ByteString, ByteString) #
RegexLike Regex ByteString # |
Instance details Defined in Text.Regex.PCRE.ByteString.Lazy Methods matchOnce :: Regex -> ByteString -> Maybe MatchArray # matchAll :: Regex -> ByteString -> [MatchArray] # matchCount :: Regex -> ByteString -> Int # matchTest :: Regex -> ByteString -> Bool # matchAllText :: Regex -> ByteString -> [MatchText ByteString] # matchOnceText :: Regex -> ByteString -> Maybe (ByteString, MatchText ByteString, ByteString) #
RegexLike Regex String # |
Instance details Defined in Text.Regex.PCRE.String Methods matchOnce :: Regex -> String -> Maybe MatchArray # matchAll :: Regex -> String -> [MatchArray] # matchCount :: Regex -> String -> Int # matchTest :: Regex -> String -> Bool # matchAllText :: Regex -> String -> [MatchText String] # matchOnceText :: Regex -> String -> Maybe (String, MatchText String, String) #
RegexContext Regex ByteString ByteString # |
Instance details Defined in Text.Regex.PCRE.ByteString Methods match :: Regex -> ByteString -> ByteString # matchM :: MonadFail m => Regex -> ByteString -> m ByteString #
RegexContext Regex ByteString ByteString # |
Instance details Defined in Text.Regex.PCRE.ByteString.Lazy Methods match :: Regex -> ByteString -> ByteString # matchM :: MonadFail m => Regex -> ByteString -> m ByteString #
RegexContext Regex String String # |
Instance details Defined in Text.Regex.PCRE.String Methods match :: Regex -> String -> String # matchM :: MonadFail m => Regex -> String -> m String #
RegexOptions Regex CompOption ExecOption # |
Instance details Defined in Text.Regex.PCRE.Wrap Methods blankCompOpt :: CompOption # blankExecOpt :: ExecOption # defaultCompOpt :: CompOption # defaultExecOpt :: ExecOption # setExecOpts :: ExecOption -> Regex -> Regex # getExecOpts :: Regex -> ExecOption #
RegexMaker Regex CompOption ExecOption ByteString # |
Instance details Defined in Text.Regex.PCRE.ByteString Methods makeRegex :: ByteString -> Regex # makeRegexOpts :: CompOption -> ExecOption -> ByteString -> Regex # makeRegexM :: MonadFail m => ByteString -> m Regex # makeRegexOptsM :: MonadFail m => CompOption -> ExecOption -> ByteString -> m Regex #
RegexMaker Regex CompOption ExecOption ByteString # |
Instance details Defined in Text.Regex.PCRE.ByteString.Lazy Methods makeRegex :: ByteString -> Regex # makeRegexOpts :: CompOption -> ExecOption -> ByteString -> Regex # makeRegexM :: MonadFail m => ByteString -> m Regex # makeRegexOptsM :: MonadFail m => CompOption -> ExecOption -> ByteString -> m Regex #
RegexMaker Regex CompOption ExecOption String # |
Instance details Defined in Text.Regex.PCRE.String Methods makeRegex :: String -> Regex # makeRegexOpts :: CompOption -> ExecOption -> String -> Regex # makeRegexM :: MonadFail m => String -> m Regex # makeRegexOptsM :: MonadFail m => CompOption -> ExecOption -> String -> m Regex #
RegexMaker Regex CompOption ExecOption (Seq Char) # |
Instance details Defined in Text.Regex.PCRE.Sequence Methods makeRegex :: Seq Char -> Regex # makeRegexOpts :: CompOption -> ExecOption -> Seq Char -> Regex # makeRegexM :: MonadFail m => Seq Char -> m Regex # makeRegexOptsM :: MonadFail m => CompOption -> ExecOption -> Seq Char -> m Regex #
RegexLike Regex (Seq Char) # |
Instance details Defined in Text.Regex.PCRE.Sequence 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) # |
Instance details Defined in Text.Regex.PCRE.Sequence Methods match :: Regex -> Seq Char -> Seq Char # matchM :: MonadFail m => Regex -> Seq Char -> m (Seq Char) #

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

Instances details

Bits CompOption # |
Instance details Defined in Text.Regex.PCRE.Wrap 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 #
Num CompOption # |
Instance details Defined in Text.Regex.PCRE.Wrap Methods (+) :: CompOption -> CompOption -> CompOption # (-) :: CompOption -> CompOption -> CompOption # (*) :: CompOption -> CompOption -> CompOption # negate :: CompOption -> CompOption # abs :: CompOption -> CompOption # signum :: CompOption -> CompOption # fromInteger :: Integer -> CompOption #
Show CompOption # |
Instance details Defined in Text.Regex.PCRE.Wrap Methods showsPrec :: Int -> CompOption -> ShowS # show :: CompOption -> String # showList :: [CompOption] -> ShowS #
Eq CompOption # |
Instance details Defined in Text.Regex.PCRE.Wrap Methods (==) :: CompOption -> CompOption -> Bool # (/=) :: CompOption -> CompOption -> Bool #
RegexOptions Regex CompOption ExecOption # |
Instance details Defined in Text.Regex.PCRE.Wrap Methods blankCompOpt :: CompOption # blankExecOpt :: ExecOption # defaultCompOpt :: CompOption # defaultExecOpt :: ExecOption # setExecOpts :: ExecOption -> Regex -> Regex # getExecOpts :: Regex -> ExecOption #
RegexMaker Regex CompOption ExecOption ByteString # |
Instance details Defined in Text.Regex.PCRE.ByteString Methods makeRegex :: ByteString -> Regex # makeRegexOpts :: CompOption -> ExecOption -> ByteString -> Regex # makeRegexM :: MonadFail m => ByteString -> m Regex # makeRegexOptsM :: MonadFail m => CompOption -> ExecOption -> ByteString -> m Regex #
RegexMaker Regex CompOption ExecOption ByteString # |
Instance details Defined in Text.Regex.PCRE.ByteString.Lazy Methods makeRegex :: ByteString -> Regex # makeRegexOpts :: CompOption -> ExecOption -> ByteString -> Regex # makeRegexM :: MonadFail m => ByteString -> m Regex # makeRegexOptsM :: MonadFail m => CompOption -> ExecOption -> ByteString -> m Regex #
RegexMaker Regex CompOption ExecOption String # |
Instance details Defined in Text.Regex.PCRE.String Methods makeRegex :: String -> Regex # makeRegexOpts :: CompOption -> ExecOption -> String -> Regex # makeRegexM :: MonadFail m => String -> m Regex # makeRegexOptsM :: MonadFail m => CompOption -> ExecOption -> String -> m Regex #
RegexMaker Regex CompOption ExecOption (Seq Char) # |
Instance details Defined in Text.Regex.PCRE.Sequence Methods makeRegex :: Seq Char -> Regex # makeRegexOpts :: CompOption -> ExecOption -> Seq Char -> Regex # makeRegexM :: MonadFail m => Seq Char -> m Regex # makeRegexOptsM :: MonadFail m => CompOption -> ExecOption -> Seq Char -> m Regex #

newtype ExecOption #

Constructors

ExecOption CInt |

#### Instances

Instances details

Bits ExecOption # |
Instance details Defined in Text.Regex.PCRE.Wrap 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 #
Num ExecOption # |
Instance details Defined in Text.Regex.PCRE.Wrap Methods (+) :: ExecOption -> ExecOption -> ExecOption # (-) :: ExecOption -> ExecOption -> ExecOption # (*) :: ExecOption -> ExecOption -> ExecOption # negate :: ExecOption -> ExecOption # abs :: ExecOption -> ExecOption # signum :: ExecOption -> ExecOption # fromInteger :: Integer -> ExecOption #
Show ExecOption # |
Instance details Defined in Text.Regex.PCRE.Wrap Methods showsPrec :: Int -> ExecOption -> ShowS # show :: ExecOption -> String # showList :: [ExecOption] -> ShowS #
Eq ExecOption # |
Instance details Defined in Text.Regex.PCRE.Wrap Methods (==) :: ExecOption -> ExecOption -> Bool # (/=) :: ExecOption -> ExecOption -> Bool #
RegexOptions Regex CompOption ExecOption # |
Instance details Defined in Text.Regex.PCRE.Wrap Methods blankCompOpt :: CompOption # blankExecOpt :: ExecOption # defaultCompOpt :: CompOption # defaultExecOpt :: ExecOption # setExecOpts :: ExecOption -> Regex -> Regex # getExecOpts :: Regex -> ExecOption #
RegexMaker Regex CompOption ExecOption ByteString # |
Instance details Defined in Text.Regex.PCRE.ByteString Methods makeRegex :: ByteString -> Regex # makeRegexOpts :: CompOption -> ExecOption -> ByteString -> Regex # makeRegexM :: MonadFail m => ByteString -> m Regex # makeRegexOptsM :: MonadFail m => CompOption -> ExecOption -> ByteString -> m Regex #
RegexMaker Regex CompOption ExecOption ByteString # |
Instance details Defined in Text.Regex.PCRE.ByteString.Lazy Methods makeRegex :: ByteString -> Regex # makeRegexOpts :: CompOption -> ExecOption -> ByteString -> Regex # makeRegexM :: MonadFail m => ByteString -> m Regex # makeRegexOptsM :: MonadFail m => CompOption -> ExecOption -> ByteString -> m Regex #
RegexMaker Regex CompOption ExecOption String # |
Instance details Defined in Text.Regex.PCRE.String Methods makeRegex :: String -> Regex # makeRegexOpts :: CompOption -> ExecOption -> String -> Regex # makeRegexM :: MonadFail m => String -> m Regex # makeRegexOptsM :: MonadFail m => CompOption -> ExecOption -> String -> m Regex #
RegexMaker Regex CompOption ExecOption (Seq Char) # |
Instance details Defined in Text.Regex.PCRE.Sequence Methods makeRegex :: Seq Char -> Regex # makeRegexOpts :: CompOption -> ExecOption -> Seq Char -> Regex # makeRegexM :: MonadFail m => Seq Char -> m Regex # makeRegexOptsM :: MonadFail m => CompOption -> ExecOption -> Seq Char -> m Regex #

data ReturnCode #

#### Instances

Instances details

Show ReturnCode # |
Instance details Defined in Text.Regex.PCRE.Wrap Methods showsPrec :: Int -> ReturnCode -> ShowS # show :: ReturnCode -> String # showList :: [ReturnCode] -> ShowS #
Eq ReturnCode # |
Instance details Defined in Text.Regex.PCRE.Wrap Methods (==) :: ReturnCode -> ReturnCode -> Bool # (/=) :: ReturnCode -> ReturnCode -> Bool #

type WrapError = (ReturnCode, String) #

## Miscellaneous

unusedOffset :: MatchOffset #

getVersion :: Maybe String #

Version string of PCRE library

NOTE: The `Maybe` type is used for historic reasons; practically, `getVersion` is never `Nothing`.

## 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) # |
Instance details Methods makeRegex :: Seq Char -> Regex # makeRegexOpts :: CompOption -> ExecOption -> Seq Char -> Regex # makeRegexM :: MonadFail m => Seq Char -> m Regex # makeRegexOptsM :: MonadFail m => CompOption -> ExecOption -> Seq Char -> m Regex #
RegexLike Regex (Seq Char) # |
Instance details 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) # |
Instance details Methods match :: Regex -> Seq Char -> Seq Char # matchM :: MonadFail m => Regex -> Seq Char -> m (Seq Char) #