pugs-hsregex-1.0: Haskell PCRE binding

RRegex

Contents

Description

Regular expressions, based on PCRE.

   A king he was on carven throne
   In many-pillared halls of stone
   With golden roof and silver floor,
   And runes of power upon the door...

Synopsis

Regular expressions

data Regex Source

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). Note: this is arguably the incorrect default. single line is the default everywhere else.

mkRegexWithOptsSource

Arguments

:: String

The regular expression to compile

-> Bool

True <=> '^' and '$' match the beginning and end of individual lines respectively, and '.' does not match the newline character.

-> Bool

True <=> matching is case-sensitive

-> Regex

Returns: the compiled regular expression

Makes a regular expression, where the multi-line and case-sensitve options can be changed from the default settings.

mkRegexWithPCRESource

Arguments

:: String

The regular expression to compile

-> [Int]

Flags

-> Regex

Returns: the compiled regular expression

Makes a regular expression with PCRE flags

matchRegexSource

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

matchRegexAllSource

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.

matchRegexWithPCRESource

Arguments

:: Regex

Compiled regular expression

-> String

String to match against

-> Int

Options

-> IO (Maybe (Array Int (Int, Int)))