regex-pcre-0.95.0.0: PCRE Backend for "Text.Regex" (regex-base)
Safe HaskellSafe-Inferred
LanguageHaskell2010

Text.Regex.PCRE

Description

The Text.Regex.PCRE 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.

Using the provided CompOption and ExecOption values and if configUTF8 is True, then you might be able to send UTF8 encoded ByteStrings to PCRE and get sensible results. This is currently untested.

The regular expression can be provided as a ByteString, but it will be copied and a NUL byte appended to make a CString unless such a byte is already present. Thus the regular expression cannot contain an explicit NUL byte. The search string is passed as a CStringLen and may contain NUL bytes and does not need to end in a NUL byte. ByteStrings are searched in place (via unsafeUseAsCStringLen).

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

The Text.Regex.PCRE.String, Text.Regex.PCRE.ByteString, and Text.Regex.PCRE.Wrap modules provides both the high level interface exported by this module and medium- and low-level interfaces that returns error using Either structures.

Synopsis

Documentation

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

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

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

newtype CompOption #

Constructors

CompOption CInt 

Instances

Instances details
Bits CompOption # 
Instance details

Defined in Text.Regex.PCRE.Wrap

Num CompOption # 
Instance details

Defined in Text.Regex.PCRE.Wrap

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

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

Num ExecOption # 
Instance details

Defined in Text.Regex.PCRE.Wrap

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

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 #

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

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

getNumSubs :: Regex -> Int #

configUTF8 :: Bool #

getVersion :: Maybe String #

Version string of PCRE library

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