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

A compiled regular expression.

Instances

Instances details
RegexLike Regex ByteString 
Instance details

Defined in Text.Regex.Posix.ByteString

RegexLike Regex ByteString 
Instance details

Defined in Text.Regex.Posix.ByteString.Lazy

RegexLike Regex String 
Instance details

Defined in Text.Regex.Posix.String

RegexContext Regex ByteString ByteString 
Instance details

Defined in Text.Regex.Posix.ByteString

RegexContext Regex ByteString ByteString 
Instance details

Defined in Text.Regex.Posix.ByteString.Lazy

RegexContext Regex String String 
Instance details

Defined in Text.Regex.Posix.String

RegexOptions Regex CompOption ExecOption 
Instance details

Defined in Text.Regex.Posix.Wrap

RegexMaker Regex CompOption ExecOption ByteString 
Instance details

Defined in Text.Regex.Posix.ByteString

RegexMaker Regex CompOption ExecOption ByteString 
Instance details

Defined in Text.Regex.Posix.ByteString.Lazy

RegexMaker Regex CompOption ExecOption String 
Instance details

Defined in Text.Regex.Posix.String

RegexMaker Regex CompOption ExecOption (Seq Char) 
Instance details

Defined in Text.Regex.Posix.Sequence

RegexLike Regex (Seq Char) 
Instance details

Defined in Text.Regex.Posix.Sequence

RegexContext Regex (Seq Char) (Seq Char) 
Instance details

Defined in Text.Regex.Posix.Sequence

Methods

match :: Regex -> Seq Char -> Seq Char Source #

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

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.