Portability | non-portable (regex-base needs MPTC+FD) |
---|---|
Stability | experimental |
Maintainer | libraries@haskell.org |
Regular expression matching. Uses the POSIX regular expression interface in Text.Regex.Posix.
Regular expressions
data Regex
A compiled regular expression.
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).
:: 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.
:: Regex | The regular expression |
-> String | The string to match against |
-> Maybe [String] | Returns: |
Match a regular expression against a string
:: 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]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.