regex-tdfa-1.2.1: Replaces/Enhances Text.Regex

Safe Haskell | None
Language | Haskell98

Text.Regex.TDFA.String

Contents

- Types
- Medium level API functions

Description

This modules provides `RegexMaker` and `RegexLike` instances for using `String` with the TDFA backend.

This exports instances of the high level API and the medium level API of `compile`,`execute`, and `regexec`.

Synopsis

- data Regex
- type MatchOffset = Int
- type MatchLength = Int
- data CompOption
- data ExecOption
- compile :: CompOption -> ExecOption -> String -> Either String Regex
- execute :: Regex -> String -> Either String (Maybe MatchArray)
- regexec :: Regex -> String -> Either String (Maybe (String, String, String, [String]))

## Types

data Regex

The TDFA backend specific `Regex` type, used by this module's RegexOptions and RegexMaker

Instances

RegexOptions Regex CompOption ExecOption |

type MatchOffset = Int

0 based index from start of source, or (-1) for unused

type MatchLength = Int

non-negative length of a match

data CompOption

Control whether the pattern is multiline or case-sensitive like Text.Regex and whether to capture the subgroups (1, 2, etc). Controls enabling extra anchor syntax.

Instances

Read CompOption |
Show CompOption |
RegexOptions Regex CompOption ExecOption |

data ExecOption

Instances

Read ExecOption |
Show ExecOption |
RegexOptions Regex CompOption ExecOption |

## Medium level API functions

compile

Arguments

:: CompOption | Flags (summed together)
-> ExecOption | Flags (summed together)
-> String | The regular expression to compile (ASCII only, no null bytes)
-> Either String Regex | Returns: the compiled regular expression

execute

Arguments

:: Regex | Compiled regular expression
-> String | String to match against
-> Either String (Maybe MatchArray) |

regexec

Arguments

:: Regex | Compiled regular expression
-> String | String to match against
-> Either String (Maybe (String, String, String, [String])) |