HORIZON HASKELLDocslts/ghc-9.10.xc74966e2026-09-27Search names, modules, packages, or :: a typeCtrl K

GHC 9.10.3 · lts/ghc-9.10.x · c74966e · 2026-09-27

Moduleregex-compat-0.95.2.1Haskell2010

Text.Regex

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

  • 1 type
  • 6 values

Regular expressions

7 declarations
datadata Regex
#

A compiled regular expression.

Instances13RegexOptions, RegexMaker, RegexLike, RegexContext, …
valuemkRegex :: String -> Regex
#

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

valuemkRegexWithOpts
  1. :: String

    The regular expression to compile.

  2. -> Bool

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

  3. -> Bool

    True iff matching is case-sensitive.

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

valuematchRegex
  1. :: Regex

    The regular expression.

  2. -> String

    The string to match against.

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

valuematchRegexAll
  1. :: Regex

    The regular expression.

  2. -> String

    The string to match against.

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

valuesubRegex
  1. :: Regex

    Search pattern

  2. -> String

    Input string

  3. -> String

    Replacement text

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

valuesplitRegex :: Regex -> String -> [String]
#

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.