regex-compat-0.95.1: Replaces/Enhances Text.Regex

Portabilitynon-portable (regex-base needs MPTC+FD)
Stabilityexperimental
Maintainerlibraries@haskell.org
Safe HaskellNone

Text.Regex

Contents

Description

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

Synopsis

Regular expressions

data Regex

A compiled regular expression.

Instances

RegexLike Regex String 
RegexLike Regex ByteString 
RegexLike Regex ByteString 
RegexOptions Regex CompOption ExecOption 
RegexContext Regex String String 
RegexContext Regex ByteString ByteString 
RegexContext Regex ByteString ByteString 
RegexMaker Regex CompOption ExecOption String 
RegexMaker Regex CompOption ExecOption ByteString 
RegexMaker Regex CompOption ExecOption ByteString 
RegexMaker Regex CompOption ExecOption (Seq Char) 
RegexLike Regex (Seq Char) 
RegexContext Regex (Seq Char) (Seq Char) 

mkRegex :: String -> RegexSource

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

mkRegexWithOptsSource

Arguments

:: String

The regular expression to compile

-> Bool

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

-> Bool

True <=> 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.

matchRegexSource

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

matchRegexAllSource

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.

subRegexSource

Arguments

:: Regex

Search pattern

-> String

Input string

-> String

Replacement text

-> String

Output string

Replaces every occurance 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 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 the original Text.Regex API.