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

Text.Regex.PCRE2

Description

The Text.Regex.PCRE2 module provides a backend for regular expressions. If you import this along with other backends, then you should do so with qualified imports, perhaps renamed for convenience.

This library uses the newer libpcre2, which supports UTF8-encoded strings by default.

The regular expression can be provided as a ByteString. The regular expression and search string are passed as CStringLens and may contain NUL bytes and do not need to end in a NUL byte. ByteStrings are searched in place (via unsafeUseAsCStringLen).

A String will be converted into a CStringLen for processing. Doing this repeatedly will be very inefficient.

The Text.Regex.PCRE2.String, Text.Regex.PCRE2.ByteString, and Text.Regex.PCRE2.Wrap modules provide both the high-level interface exported by this module and medium- and low-level interfaces that return errors using Either structures.

Synopsis

Documentation

Wrap, for =~ and =~~, types and constants

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 #

getVersion :: Maybe String Source #

Version string of PCRE2 library