-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/


-- | Unicode Support version of Text.Regex, using regex-tdfa
--   
--   One module layer over regex-tdfa to replace Text.Regex.
--   
--   regex-compat can't use Unicode characters correctly because of using
--   regex-posix. This is not good for Unicode users.
--   
--   I modified regex-compat to use regex-tdfa for solving today's problem.
@package regex-compat-tdfa
@version 0.95.1.4


-- | Regular expression matching. Uses the POSIX regular expression
--   interface in <a>Text.Regex.TDFA</a>.
module Text.Regex

-- | The TDFA backend specific <a>Regex</a> type, used by this module's
--   RegexOptions and RegexMaker
data Regex :: *

-- | Makes a regular expression with the default options (multi-line,
--   case-sensitive). The syntax of regular expressions is otherwise that
--   of <tt>egrep</tt> (i.e. POSIX "extended" regular expressions).
mkRegex :: String -> Regex

-- | Makes a regular expression, where the multi-line and case-sensitive
--   options can be changed from the default settings.
mkRegexWithOpts :: String -> Bool -> Bool -> Regex

-- | Match a regular expression against a string
matchRegex :: Regex -> String -> Maybe [String]

-- | Match a regular expression against a string, returning more
--   information about the match.
matchRegexAll :: Regex -> String -> Maybe (String, String, String, [String])

-- | Replaces every occurance of the given regexp with the replacement
--   string.
--   
--   In the replacement string, <tt>"\1"</tt> refers to the first
--   substring; <tt>"\2"</tt> to the second, etc; and <tt>"\0"</tt> to the
--   entire match. <tt>"\\\\"</tt> 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.
subRegex :: Regex -> String -> 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.
splitRegex :: Regex -> String -> [String]
