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

Text.Regex.PCRE2.Wrap

Description

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

Synopsis

High-level interface

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

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 #

newtype CompOption Source #

Constructors

CompOption Word32 

Instances

Instances details
Bits CompOption Source # 
Instance details

Defined in Text.Regex.PCRE2.Wrap

Num CompOption Source # 
Instance details

Defined in Text.Regex.PCRE2.Wrap

Show CompOption Source # 
Instance details

Defined in Text.Regex.PCRE2.Wrap

Methods

showsPrec :: Int -> CompOption -> ShowS

show :: CompOption -> String

showList :: [CompOption] -> ShowS

Eq CompOption Source # 
Instance details

Defined in Text.Regex.PCRE2.Wrap

Methods

(==) :: CompOption -> CompOption -> Bool

(/=) :: CompOption -> CompOption -> Bool

RegexOptions Regex CompOption MatchOption Source # 
Instance details

Defined in Text.Regex.PCRE2.Wrap

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

Num MatchOption Source # 
Instance details

Defined in Text.Regex.PCRE2.Wrap

Show MatchOption Source # 
Instance details

Defined in Text.Regex.PCRE2.Wrap

Methods

showsPrec :: Int -> MatchOption -> ShowS

show :: MatchOption -> String

showList :: [MatchOption] -> ShowS

Eq MatchOption Source # 
Instance details

Defined in Text.Regex.PCRE2.Wrap

Methods

(==) :: MatchOption -> MatchOption -> Bool

(/=) :: MatchOption -> MatchOption -> Bool

RegexOptions Regex CompOption MatchOption Source # 
Instance details

Defined in Text.Regex.PCRE2.Wrap

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 #

(=~) :: (RegexMaker Regex CompOption MatchOption source, RegexContext Regex source1 target) => source1 -> source -> target Source #

(=~~) :: (RegexMaker Regex CompOption MatchOption source, RegexContext Regex source1 target, MonadFail m) => source1 -> source -> m target Source #

Low-level interface

newtype ReturnCode Source #

Constructors

ReturnCode CInt 

Instances

Instances details
Show ReturnCode Source # 
Instance details

Defined in Text.Regex.PCRE2.Wrap

Methods

showsPrec :: Int -> ReturnCode -> ShowS

show :: ReturnCode -> String

showList :: [ReturnCode] -> ShowS

Eq ReturnCode Source # 
Instance details

Defined in Text.Regex.PCRE2.Wrap

Methods

(==) :: ReturnCode -> ReturnCode -> Bool

(/=) :: ReturnCode -> ReturnCode -> Bool

type WrapError = (ReturnCode, String) Source #

wrapCompile Source #

Arguments

:: CompOption

Flags (summed together)

-> MatchOption

Flags (summed together)

-> CStringLen

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

Arguments

:: StartOffset

Starting index in CStringLen

-> Regex

Compiled regular expression

-> CStringLen

String to match against and length in bytes

-> IO (Either WrapError Bool) 

wrapMatch Source #

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

wrapMatchAll is an improvement over wrapMatch since it only allocates memory with allocaBytes once at the start.

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

Miscellaneous

getVersion :: Maybe String Source #

Version string of PCRE2 library

CompOption values

ReturnCode values