Portability | non-portable (regex-base needs MPTC+FD) |
---|---|
Stability | experimental |
Maintainer | libraries@haskell.org |
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
data Regex
Instances
RegexLike Regex String | |
RegexLike Regex ByteString | |
RegexLike Regex ByteString | |
RegexContext Regex String String | |
RegexContext Regex ByteString ByteString | |
RegexContext Regex ByteString ByteString | |
RegexOptions Regex CompOption ExecOption | |
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) |
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.
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]
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.