regex-compat-0.95.2.2: Replaces/enhances "Text.Regex"
Copyright(c) Chris Kuklewicz 2006 derived from (c) The University of Glasgow 2001
LicenseBSD-style (see the file LICENSE)
Maintainerhvr@gnu.org
Stabilityexperimental
Portabilitynon-portable (regex-base needs MPTC+FD)
Safe HaskellTrustworthy
LanguageHaskell2010

Text.Regex

Description

Regular expression matching. Uses the POSIX regular expression interface in Text.Regex.Posix.

Synopsis

Regular expressions

data Regex #

Instances

Instances details
RegexLike Regex ByteString 
Instance details

Defined in Text.Regex.Posix.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.Posix.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.Posix.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.Posix.ByteString

Methods

match :: Regex -> ByteString -> ByteString

matchM :: MonadFail m => Regex -> ByteString -> m ByteString

RegexContext Regex ByteString ByteString 
Instance details

Defined in Text.Regex.Posix.ByteString.Lazy

Methods

match :: Regex -> ByteString -> ByteString

matchM :: MonadFail m => Regex -> ByteString -> m ByteString

RegexContext Regex String String 
Instance details

Defined in Text.Regex.Posix.String

Methods

match :: Regex -> String -> String

matchM :: MonadFail m => Regex -> String -> m String

RegexOptions Regex CompOption ExecOption 
Instance details

Defined in Text.Regex.Posix.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.Posix.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.Posix.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.Posix.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.Posix.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.Posix.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.Posix.Sequence

Methods

match :: Regex -> Seq Char -> Seq Char

matchM :: MonadFail m => Regex -> Seq Char -> m (Seq Char)

mkRegex :: String -> Regex Source #

Makes a regular expression with the default options (multi-line, case-sensitive). The syntax of regular expressions is otherwise that of egrep (i.e. POSIX "extended" regular expressions).

mkRegexWithOpts Source #

Arguments

:: String

The regular expression to compile.

-> Bool

True iff '^' and '$' match the beginning and end of individual lines respectively, and '.' does not match the newline character.

-> Bool

True iff matching is case-sensitive.

-> Regex

Returns: the compiled regular expression.

Makes a regular expression, where the multi-line and case-sensitive options can be changed from the default settings.

matchRegex Source #

Arguments

:: Regex

The regular expression.

-> String

The string to match against.

-> Maybe [String]

Returns: Just strs if the match succeeded (and strs is the list of subexpression matches), or Nothing otherwise.

Match a regular expression against a string.

matchRegexAll Source #

Arguments

:: Regex

The regular expression.

-> String

The string to match against.

-> Maybe (String, String, String, [String])

Returns: Nothing if the match failed, or:

 Just ( everything before match,
        portion matched,
        everything after the match,
        subexpression matches )

Match a regular expression against a string, returning more information about the match.

subRegex Source #

Arguments

:: Regex

Search pattern

-> String

Input string

-> String

Replacement text

-> String

Output string

Replaces every occurrence of the given regexp with the replacement string.

In the replacement string, "\1" refers to the first substring; "\2" to the second, etc; and "\0" to the entire match. "\\\\" will insert a literal backslash.

This does not advance if the regex matches an empty string. This misfeature is here to match the behavior of the original Text.Regex API.

splitRegex :: Regex -> String -> [String] Source #

Splits a string based on a regular expression. The regular expression should identify one delimiter.

This does not advance and produces an infinite list of [] if the regex matches an empty string. This misfeature is here to match the behavior of the original Text.Regex API.