| Copyright | (c) Chris Kuklewicz 2006, derived from (c) The University of Glasgow 2001 |
|---|---|
| License | BSD-style (see the file LICENSE) |
| Maintainer | libraries@haskell.org |
| Stability | experimental |
| Portability | non-portable (regex-base needs MPTC+FD) |
| Safe Haskell | None |
| Language | Haskell98 |
Text.Regex
Contents
Description
Regular expression matching. Uses the POSIX regular expression interface in Text.Regex.Posix.
- data 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
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).
Arguments
| :: String | The regular expression to compile |
| -> Bool |
|
| -> Bool |
|
| -> 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.
Arguments
| :: Regex | The regular expression |
| -> String | The string to match against |
| -> Maybe [String] | Returns: |
Match a regular expression against a string
Arguments
| :: Regex | The regular expression |
| -> String | The string to match against |
| -> Maybe (String, String, String, [String]) | Returns: 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.
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]
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.