regex-pcre2-1.0.0.0: PCRE2 Backend for "Text.Regex" (regex-base)

Safe Haskell | None
Language | Haskell2010

Text.Regex.PCRE2.ByteString

Contents

- Types
- Miscellaneous
- Medium level API functions
- CompOption flags
- MatchOption flags, new to v1.0.0.0 (pcre2), replacing the obsolete ExecOptions
- 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 Word32
- newtype MatchOption = MatchOption Word32
- data ReturnCode
- type WrapError = (ReturnCode, String)
- unusedOffset :: MatchOffset
- getVersion :: Maybe String
- compile :: CompOption -> MatchOption -> ByteString -> IO (Either (MatchOffset, String) Regex)
- execute :: Regex -> ByteString -> IO (Either WrapError (Maybe (Array Int (MatchOffset, MatchLength))))
- regexec :: Regex -> ByteString -> IO (Either WrapError (Maybe (ByteString, ByteString, ByteString, [ByteString])))
- compBlank :: CompOption
- compAnchored :: CompOption
- compEndAnchored :: CompOption
- compAllowEmptyClass :: CompOption
- compAltBSUX :: CompOption
- compAltExtendedClass :: CompOption
- compAltVerbnames :: CompOption
- compAutoCallout :: CompOption
- compCaseless :: CompOption
- compDollarEndOnly :: CompOption
- compDotAll :: CompOption
- compDupNames :: CompOption
- compExtended :: CompOption
- compExtendedMore :: CompOption
- compFirstLine :: CompOption
- compLiteral :: CompOption
- compMatchUnsetBackref :: CompOption
- compMultiline :: CompOption
- compNeverBackslashC :: CompOption
- compNoAutoCapture :: CompOption
- compNoAutoPossess :: CompOption
- compNoDotstarAnchor :: CompOption
- compNoUTFCheck :: CompOption
- compUngreedy :: CompOption
- compUTF :: CompOption
- matchBlank :: MatchOption
- matchAnchored :: MatchOption
- matchCopyMatchedSubject :: MatchOption
- matchDisableRecurseLoopCheck :: MatchOption
- matchEndAnchored :: MatchOption
- matchNotBOL :: MatchOption
- matchNotEOL :: MatchOption
- matchNotEmpty :: MatchOption
- matchNotEmptyAtStart :: MatchOption
- matchNoUTFCheck :: MatchOption
- matchPartialHard :: MatchOption
- matchPartialSoft :: MatchOption

## Types

data Regex Source #

A compiled regular expression

#### Instances

Instances details

RegexLike Regex ByteString Source # |

Instance details

Defined in Text.Regex.PCRE2.ByteString

Methods

matchOnce :: Regex -> ByteString -> Maybe MatchArray Source #

matchAll :: Regex -> ByteString -> [MatchArray] Source #

matchCount :: Regex -> ByteString -> Int Source #

matchTest :: Regex -> ByteString -> Bool Source #

matchAllText :: Regex -> ByteString -> [MatchText ByteString] Source #

matchOnceText :: Regex -> ByteString -> Maybe (ByteString, MatchText ByteString, ByteString) Source #

RegexLike Regex ByteString Source # |

Instance details

Defined in Text.Regex.PCRE2.ByteString.Lazy

Methods

matchOnce :: Regex -> ByteString -> Maybe MatchArray Source #

matchAll :: Regex -> ByteString -> [MatchArray] Source #

matchCount :: Regex -> ByteString -> Int Source #

matchTest :: Regex -> ByteString -> Bool Source #

matchAllText :: Regex -> ByteString -> [MatchText ByteString] Source #

matchOnceText :: Regex -> ByteString -> Maybe (ByteString, MatchText ByteString, ByteString) Source #

RegexLike Regex String Source # |

Instance details

Defined in Text.Regex.PCRE2.String

Methods

matchOnce :: Regex -> String -> Maybe MatchArray Source #

matchAll :: Regex -> String -> [MatchArray] Source #

matchCount :: Regex -> String -> Int Source #

matchTest :: Regex -> String -> Bool Source #

matchAllText :: Regex -> String -> [MatchText String] Source #

matchOnceText :: Regex -> String -> Maybe (String, MatchText String, String) Source #

RegexContext Regex ByteString ByteString Source # |
Instance details Defined in Text.Regex.PCRE2.ByteString Methods match :: Regex -> ByteString -> ByteString Source # matchM :: MonadFail m => Regex -> ByteString -> m ByteString Source #
RegexContext Regex ByteString ByteString Source # |
Instance details Defined in Text.Regex.PCRE2.ByteString.Lazy Methods match :: Regex -> ByteString -> ByteString Source # matchM :: MonadFail m => Regex -> ByteString -> m ByteString Source #
RegexContext Regex String String Source # |
Instance details Defined in Text.Regex.PCRE2.String Methods match :: Regex -> String -> String Source # matchM :: MonadFail m => Regex -> String -> m String Source #
RegexOptions Regex CompOption MatchOption Source # |
Instance details Defined in Text.Regex.PCRE2.Wrap Methods blankCompOpt :: CompOption Source # blankExecOpt :: MatchOption Source # defaultCompOpt :: CompOption Source # defaultExecOpt :: MatchOption Source # setExecOpts :: MatchOption -> Regex -> Regex Source # getExecOpts :: Regex -> MatchOption Source #
RegexMaker Regex CompOption MatchOption ByteString Source # |
Instance details Defined in Text.Regex.PCRE2.ByteString Methods makeRegex :: ByteString -> Regex Source # makeRegexOpts :: CompOption -> MatchOption -> ByteString -> Regex Source # makeRegexM :: MonadFail m => ByteString -> m Regex Source # makeRegexOptsM :: MonadFail m => CompOption -> MatchOption -> ByteString -> m Regex Source #
RegexMaker Regex CompOption MatchOption ByteString Source # |
Instance details Defined in Text.Regex.PCRE2.ByteString.Lazy Methods makeRegex :: ByteString -> Regex Source # makeRegexOpts :: CompOption -> MatchOption -> ByteString -> Regex Source # makeRegexM :: MonadFail m => ByteString -> m Regex Source # makeRegexOptsM :: MonadFail m => CompOption -> MatchOption -> ByteString -> m Regex Source #
RegexMaker Regex CompOption MatchOption String Source # |
Instance details Defined in Text.Regex.PCRE2.String Methods makeRegex :: String -> Regex Source # makeRegexOpts :: CompOption -> MatchOption -> String -> Regex Source # makeRegexM :: MonadFail m => String -> m Regex Source # makeRegexOptsM :: MonadFail m => CompOption -> MatchOption -> String -> m Regex Source #
RegexMaker Regex CompOption MatchOption (Seq Char) Source # |
Instance details Defined in Text.Regex.PCRE2.Sequence Methods makeRegex :: Seq Char -> Regex Source # makeRegexOpts :: CompOption -> MatchOption -> Seq Char -> Regex Source # makeRegexM :: MonadFail m => Seq Char -> m Regex Source # makeRegexOptsM :: MonadFail m => CompOption -> MatchOption -> Seq Char -> m Regex Source #
RegexLike Regex (Seq Char) Source # |

Instance details

Defined in Text.Regex.PCRE2.Sequence

Methods

matchOnce :: Regex -> Seq Char -> Maybe MatchArray Source #

matchAll :: Regex -> Seq Char -> [MatchArray] Source #

matchCount :: Regex -> Seq Char -> Int Source #

matchTest :: Regex -> Seq Char -> Bool Source #

matchAllText :: Regex -> Seq Char -> [MatchText (Seq Char)] Source #

matchOnceText :: Regex -> Seq Char -> Maybe (Seq Char, MatchText (Seq Char), Seq Char) Source #

RegexContext Regex (Seq Char) (Seq Char) Source # |
Instance details Defined in Text.Regex.PCRE2.Sequence Methods match :: Regex -> Seq Char -> Seq Char Source # matchM :: MonadFail m => Regex -> Seq Char -> m (Seq Char) Source #

type MatchOffset = Int Source #

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

type MatchLength = Int Source #

non-negative length of a match

newtype CompOption Source #

Constructors

CompOption Word32 |

#### Instances

Instances details

Bits CompOption Source # |

Instance details

Defined in Text.Regex.PCRE2.Wrap

Methods

(.&.) :: CompOption -> CompOption -> CompOption Source #

(.|.) :: CompOption -> CompOption -> CompOption Source #

xor :: CompOption -> CompOption -> CompOption Source #

complement :: CompOption -> CompOption Source #

shift :: CompOption -> Int -> CompOption Source #

rotate :: CompOption -> Int -> CompOption Source #

zeroBits :: CompOption Source #

bit :: Int -> CompOption Source #

setBit :: CompOption -> Int -> CompOption Source #

clearBit :: CompOption -> Int -> CompOption Source #

complementBit :: CompOption -> Int -> CompOption Source #

testBit :: CompOption -> Int -> Bool Source #

bitSizeMaybe :: CompOption -> Maybe Int Source #

bitSize :: CompOption -> Int Source #

isSigned :: CompOption -> Bool Source #

shiftL :: CompOption -> Int -> CompOption Source #

unsafeShiftL :: CompOption -> Int -> CompOption Source #

shiftR :: CompOption -> Int -> CompOption Source #

unsafeShiftR :: CompOption -> Int -> CompOption Source #

rotateL :: CompOption -> Int -> CompOption Source #

rotateR :: CompOption -> Int -> CompOption Source #

popCount :: CompOption -> Int Source #

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

newtype MatchOption Source #

Constructors

MatchOption Word32 |

#### Instances

Instances details

Bits MatchOption Source # |

Instance details

Defined in Text.Regex.PCRE2.Wrap

Methods

(.&.) :: MatchOption -> MatchOption -> MatchOption Source #

(.|.) :: MatchOption -> MatchOption -> MatchOption Source #

xor :: MatchOption -> MatchOption -> MatchOption Source #

complement :: MatchOption -> MatchOption Source #

shift :: MatchOption -> Int -> MatchOption Source #

rotate :: MatchOption -> Int -> MatchOption Source #

zeroBits :: MatchOption Source #

bit :: Int -> MatchOption Source #

setBit :: MatchOption -> Int -> MatchOption Source #

clearBit :: MatchOption -> Int -> MatchOption Source #

complementBit :: MatchOption -> Int -> MatchOption Source #

testBit :: MatchOption -> Int -> Bool Source #

bitSizeMaybe :: MatchOption -> Maybe Int Source #

bitSize :: MatchOption -> Int Source #

isSigned :: MatchOption -> Bool Source #

shiftL :: MatchOption -> Int -> MatchOption Source #

unsafeShiftL :: MatchOption -> Int -> MatchOption Source #

shiftR :: MatchOption -> Int -> MatchOption Source #

unsafeShiftR :: MatchOption -> Int -> MatchOption Source #

rotateL :: MatchOption -> Int -> MatchOption Source #

rotateR :: MatchOption -> Int -> MatchOption Source #

popCount :: MatchOption -> Int Source #

Num MatchOption Source # |

Instance details

Defined in Text.Regex.PCRE2.Wrap

Methods

(+) :: MatchOption -> MatchOption -> MatchOption Source #

(-) :: MatchOption -> MatchOption -> MatchOption Source #

(*) :: MatchOption -> MatchOption -> MatchOption Source #

negate :: MatchOption -> MatchOption Source #

abs :: MatchOption -> MatchOption Source #

signum :: MatchOption -> MatchOption Source #

fromInteger :: Integer -> MatchOption Source #

Show MatchOption Source # |
Instance details Defined in Text.Regex.PCRE2.Wrap Methods showsPrec :: Int -> MatchOption -> ShowS Source # show :: MatchOption -> String Source # showList :: [MatchOption] -> ShowS Source #
Eq MatchOption Source # |
Instance details Defined in Text.Regex.PCRE2.Wrap Methods (==) :: MatchOption -> MatchOption -> Bool Source # (/=) :: MatchOption -> MatchOption -> Bool Source #
RegexOptions Regex CompOption MatchOption Source # |
Instance details Defined in Text.Regex.PCRE2.Wrap Methods blankCompOpt :: CompOption Source # blankExecOpt :: MatchOption Source # defaultCompOpt :: CompOption Source # defaultExecOpt :: MatchOption Source # setExecOpts :: MatchOption -> Regex -> Regex Source # getExecOpts :: Regex -> MatchOption Source #
RegexMaker Regex CompOption MatchOption ByteString Source # |
Instance details Defined in Text.Regex.PCRE2.ByteString Methods makeRegex :: ByteString -> Regex Source # makeRegexOpts :: CompOption -> MatchOption -> ByteString -> Regex Source # makeRegexM :: MonadFail m => ByteString -> m Regex Source # makeRegexOptsM :: MonadFail m => CompOption -> MatchOption -> ByteString -> m Regex Source #
RegexMaker Regex CompOption MatchOption ByteString Source # |
Instance details Defined in Text.Regex.PCRE2.ByteString.Lazy Methods makeRegex :: ByteString -> Regex Source # makeRegexOpts :: CompOption -> MatchOption -> ByteString -> Regex Source # makeRegexM :: MonadFail m => ByteString -> m Regex Source # makeRegexOptsM :: MonadFail m => CompOption -> MatchOption -> ByteString -> m Regex Source #
RegexMaker Regex CompOption MatchOption String Source # |
Instance details Defined in Text.Regex.PCRE2.String Methods makeRegex :: String -> Regex Source # makeRegexOpts :: CompOption -> MatchOption -> String -> Regex Source # makeRegexM :: MonadFail m => String -> m Regex Source # makeRegexOptsM :: MonadFail m => CompOption -> MatchOption -> String -> m Regex Source #
RegexMaker Regex CompOption MatchOption (Seq Char) Source # |
Instance details Defined in Text.Regex.PCRE2.Sequence Methods makeRegex :: Seq Char -> Regex Source # makeRegexOpts :: CompOption -> MatchOption -> Seq Char -> Regex Source # makeRegexM :: MonadFail m => Seq Char -> m Regex Source # makeRegexOptsM :: MonadFail m => CompOption -> MatchOption -> Seq Char -> m Regex Source #

data ReturnCode Source #

#### Instances

Instances details

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

type WrapError = (ReturnCode, String) Source #

## Miscellaneous

unusedOffset :: MatchOffset Source #

getVersion :: Maybe String Source #

Version string of PCRE2 library

## Medium level API functions

compile Source #

Arguments

:: CompOption | (summed together)
-> MatchOption | (summed together)
-> ByteString | The regular expression to compile
-> IO (Either (MatchOffset, String) Regex) | Returns: the compiled regular expression

Compiles a regular expression

execute Source #

Arguments

:: Regex | Compiled regular expression
-> ByteString | String 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 buffer, returning the buffer indicies of the match, and any submatches

| Matches a regular expression against a string

regexec Source #

Arguments

:: Regex | Compiled regular expression
-> ByteString | String to match against
-> IO (Either WrapError (Maybe (ByteString, ByteString, ByteString, [ByteString]))) |

## CompOption flags

compBlank :: CompOption Source #

compAnchored :: CompOption Source #

compEndAnchored :: CompOption Source #

compAllowEmptyClass :: CompOption Source #

compAltBSUX :: CompOption Source #

compAltExtendedClass :: CompOption Source #

compAltVerbnames :: CompOption Source #

compAutoCallout :: CompOption Source #

compCaseless :: CompOption Source #

compDollarEndOnly :: CompOption Source #

compDotAll :: CompOption Source #

compDupNames :: CompOption Source #

compExtended :: CompOption Source #

compExtendedMore :: CompOption Source #

compFirstLine :: CompOption Source #

compLiteral :: CompOption Source #

compMatchUnsetBackref :: CompOption Source #

compMultiline :: CompOption Source #

compNeverBackslashC :: CompOption Source #

compNoAutoCapture :: CompOption Source #

compNoAutoPossess :: CompOption Source #

compNoDotstarAnchor :: CompOption Source #

compNoUTFCheck :: CompOption Source #

compUngreedy :: CompOption Source #

compUTF :: CompOption Source #

## MatchOption flags, new to v1.0.0.0 (pcre2), replacing the obsolete ExecOptions

matchBlank :: MatchOption Source #

matchAnchored :: MatchOption Source #

matchCopyMatchedSubject :: MatchOption Source #

matchDisableRecurseLoopCheck :: MatchOption Source #

matchEndAnchored :: MatchOption Source #

matchNotBOL :: MatchOption Source #

matchNotEOL :: MatchOption Source #

matchNotEmpty :: MatchOption Source #

matchNotEmptyAtStart :: MatchOption Source #

matchNoUTFCheck :: MatchOption Source #

matchPartialHard :: MatchOption Source #

matchPartialSoft :: MatchOption Source #

# Orphan instances

RegexLike Regex ByteString Source # |

Instance details

Methods

matchOnce :: Regex -> ByteString -> Maybe MatchArray Source #

matchAll :: Regex -> ByteString -> [MatchArray] Source #

matchCount :: Regex -> ByteString -> Int Source #

matchTest :: Regex -> ByteString -> Bool Source #

matchAllText :: Regex -> ByteString -> [MatchText ByteString] Source #

matchOnceText :: Regex -> ByteString -> Maybe (ByteString, MatchText ByteString, ByteString) Source #

RegexContext Regex ByteString ByteString Source # |
Instance details Methods match :: Regex -> ByteString -> ByteString Source # matchM :: MonadFail m => Regex -> ByteString -> m ByteString Source #
RegexMaker Regex CompOption MatchOption ByteString Source # |
Instance details Methods makeRegex :: ByteString -> Regex Source # makeRegexOpts :: CompOption -> MatchOption -> ByteString -> Regex Source # makeRegexM :: MonadFail m => ByteString -> m Regex Source # makeRegexOptsM :: MonadFail m => CompOption -> MatchOption -> ByteString -> m Regex Source #