| Haskell Hierarchical Libraries (regex-compat package) | Source code | Contents | Index
Text.Regex |
Portability | non-portable (regex-base needs MPTC+FD)
Stability | experimental
Maintainer | libraries@haskell.org
Contents
Regular expressions
Description
Regular expression matching. Uses the POSIX regular expression interface in Text.Regex.Posix.
Synopsis
Regex
mkRegex :: String -> Regex
mkRegexWithOpts :: String -> Bool -> Bool -> Regex
matchRegex :: Regex -> String -> Maybe [String]
matchRegexAll :: Regex -> String -> Maybe (String, String, String, [String])
subRegex :: Regex -> String -> String -> String
splitRegex :: Regex -> String -> [String]
Regular expressions
Regex
mkRegex :: 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).
mkRegexWithOpts
:: 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.
matchRegex
:: 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
:: 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
:: 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 is unsafe if the regex matches an empty string.
splitRegex :: Regex -> String -> [String]
Splits a string based on a regular expression. The regular expression should identify one delimiter. This is unsafe if the regex matches an empty string.
Produced by Haddock version 0.8