regex-compat-0.95.2.2: Replaces/enhances "Text.Regex"

Copyright | (c) Chris Kuklewicz 2006 derived from (c) The University of Glasgow 2001
License | BSD-style (see the file LICENSE)
Maintainer | hvr@gnu.org
Stability | experimental
Portability | non-portable (regex-base needs MPTC+FD)
Safe Haskell | Trustworthy
Language | Haskell2010

Text.Regex

Contents

- Regular expressions

Description

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

Synopsis

- 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 Source #

A compiled regular expression.

#### Instances

Instances details

RegexLike Regex ByteString |

Instance details

Defined in Text.Regex.Posix.ByteString

Methods

matchOnce :: Regex -> ByteString -> Maybe MatchArray Source #

matchAll :: Regex -> ByteString -> [MatchArray] Source #

matchCount :: Regex -> ByteString -> Int Source #

matchTest :: Regex -> ByteString -> Bool Source #

matchAllText :: Regex -> ByteString -> [MatchText ByteString] Source #

matchOnceText :: Regex -> ByteString -> Maybe (ByteString, MatchText ByteString, ByteString) Source #

RegexLike Regex ByteString |

Instance details

Defined in Text.Regex.Posix.ByteString.Lazy

Methods

matchOnce :: Regex -> ByteString -> Maybe MatchArray Source #

matchAll :: Regex -> ByteString -> [MatchArray] Source #

matchCount :: Regex -> ByteString -> Int Source #

matchTest :: Regex -> ByteString -> Bool Source #

matchAllText :: Regex -> ByteString -> [MatchText ByteString] Source #

matchOnceText :: Regex -> ByteString -> Maybe (ByteString, MatchText ByteString, ByteString) Source #

RegexLike Regex String |

Instance details

Defined in Text.Regex.Posix.String

Methods

matchOnce :: Regex -> String -> Maybe MatchArray Source #

matchAll :: Regex -> String -> [MatchArray] Source #

matchCount :: Regex -> String -> Int Source #

matchTest :: Regex -> String -> Bool Source #

matchAllText :: Regex -> String -> [MatchText String] Source #

matchOnceText :: Regex -> String -> Maybe (String, MatchText String, String) Source #

RegexContext Regex ByteString ByteString |
Instance details Defined in Text.Regex.Posix.ByteString Methods match :: Regex -> ByteString -> ByteString Source # matchM :: MonadFail m => Regex -> ByteString -> m ByteString Source #
RegexContext Regex ByteString ByteString |
Instance details Defined in Text.Regex.Posix.ByteString.Lazy Methods match :: Regex -> ByteString -> ByteString Source # matchM :: MonadFail m => Regex -> ByteString -> m ByteString Source #
RegexContext Regex String String |
Instance details Defined in Text.Regex.Posix.String Methods match :: Regex -> String -> String Source # matchM :: MonadFail m => Regex -> String -> m String Source #
RegexOptions Regex CompOption ExecOption |
Instance details Defined in Text.Regex.Posix.Wrap Methods blankCompOpt :: CompOption Source # blankExecOpt :: ExecOption Source # defaultCompOpt :: CompOption Source # defaultExecOpt :: ExecOption Source # setExecOpts :: ExecOption -> Regex -> Regex Source # getExecOpts :: Regex -> ExecOption Source #
RegexMaker Regex CompOption ExecOption ByteString |
Instance details Defined in Text.Regex.Posix.ByteString Methods makeRegex :: ByteString -> Regex Source # makeRegexOpts :: CompOption -> ExecOption -> ByteString -> Regex Source # makeRegexM :: MonadFail m => ByteString -> m Regex Source # makeRegexOptsM :: MonadFail m => CompOption -> ExecOption -> ByteString -> m Regex Source #
RegexMaker Regex CompOption ExecOption ByteString |
Instance details Defined in Text.Regex.Posix.ByteString.Lazy Methods makeRegex :: ByteString -> Regex Source # makeRegexOpts :: CompOption -> ExecOption -> ByteString -> Regex Source # makeRegexM :: MonadFail m => ByteString -> m Regex Source # makeRegexOptsM :: MonadFail m => CompOption -> ExecOption -> ByteString -> m Regex Source #
RegexMaker Regex CompOption ExecOption String |
Instance details Defined in Text.Regex.Posix.String Methods makeRegex :: String -> Regex Source # makeRegexOpts :: CompOption -> ExecOption -> String -> Regex Source # makeRegexM :: MonadFail m => String -> m Regex Source # makeRegexOptsM :: MonadFail m => CompOption -> ExecOption -> String -> m Regex Source #
RegexMaker Regex CompOption ExecOption (Seq Char) |
Instance details Defined in Text.Regex.Posix.Sequence Methods makeRegex :: Seq Char -> Regex Source # makeRegexOpts :: CompOption -> ExecOption -> Seq Char -> Regex Source # makeRegexM :: MonadFail m => Seq Char -> m Regex Source # makeRegexOptsM :: MonadFail m => CompOption -> ExecOption -> Seq Char -> m Regex Source #
RegexLike Regex (Seq Char) |

Instance details

Defined in Text.Regex.Posix.Sequence

Methods

matchOnce :: Regex -> Seq Char -> Maybe MatchArray Source #

matchAll :: Regex -> Seq Char -> [MatchArray] Source #

matchCount :: Regex -> Seq Char -> Int Source #

matchTest :: Regex -> Seq Char -> Bool Source #

matchAllText :: Regex -> Seq Char -> [MatchText (Seq Char)] Source #

matchOnceText :: Regex -> Seq Char -> Maybe (Seq Char, MatchText (Seq Char), Seq Char) Source #

RegexContext Regex (Seq Char) (Seq Char) |
Instance details Defined in Text.Regex.Posix.Sequence Methods match :: Regex -> Seq Char -> Seq Char Source # matchM :: MonadFail m => Regex -> Seq Char -> m (Seq Char) Source #

mkRegex :: String -> Regex Source #

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 Source #

Arguments

:: String | The regular expression to compile.
-> Bool | `True` iff `'^'` and `'$'` match the beginning and end of individual lines respectively, and `'.'` does not match the newline character.
-> Bool | `True` iff 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 Source #

Arguments

:: 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 Source #

Arguments

:: 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 Source #

Arguments

:: Regex | Search pattern
-> String | Input string
-> String | Replacement text
-> 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.

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 original `Text.Regex` API.