regex-1.0.2.0: Toolkit for regex-base

Safe HaskellNone
LanguageHaskell2010

Text.RE.Tools.Lex

Contents

Synopsis

Find

The Lex toolkit uses REs to identify tokens in a file, returning a list of tokens.

See the Regex Tools tutorial at http://re-tutorial-tools.regex.uk

alex :: IsRegex re s => [(re, Match s -> Maybe t)] -> t -> s -> [t] Source #

a simple regex-based scanner interpretter for prototyping scanners

alex' :: Replace s => (re -> s -> Match s) -> [(re, Match s -> Maybe t)] -> t -> s -> [t] Source #

a higher order version of alex parameterised over the matchOnce function

IsRegex

class Replace s => IsRegex re s where Source #

the IsRegex class allows polymorhic tools to be written that will work with a variety of regex back ends and text types

Methods

matchOnce :: re -> s -> Match s Source #

finding the first match

matchMany :: re -> s -> Matches s Source #

finding all matches

makeRegex :: (Functor m, Monad m) => s -> m re Source #

compiling an RE, failing if the RE is not well formed

makeRegexWith :: (Functor m, Monad m) => SimpleREOptions -> s -> m re Source #

comiling an RE, specifying the SimpleREOptions

makeSearchReplace :: (Functor m, Monad m, IsRegex re s) => s -> s -> m (SearchReplace re s) Source #

compiling a SearchReplace template from the RE text and the template Text, failing if they are not well formed

makeSearchReplaceWith :: (Functor m, Monad m, IsRegex re s) => SimpleREOptions -> s -> s -> m (SearchReplace re s) Source #

compiling a SearchReplace template specifing the SimpleREOptions for the RE

makeEscaped :: (Functor m, Monad m) => (s -> s) -> s -> m re Source #

incorporate an escaped string into a compiled RE with the default options

makeEscapedWith :: (Functor m, Monad m) => SimpleREOptions -> (s -> s) -> s -> m re Source #

incorporate an escaped string into a compiled RE with the specified SimpleREOptions

regexSource :: re -> s Source #

extract the text of the RE from the RE

Instances
IsRegex RE String Source # 
Instance details

Defined in Text.RE.TDFA.String

IsRegex RE ByteString Source # 
Instance details

Defined in Text.RE.TDFA.ByteString.Lazy

IsRegex RE ByteString Source # 
Instance details

Defined in Text.RE.TDFA.ByteString

IsRegex RE Text Source # 
Instance details

Defined in Text.RE.TDFA.Text.Lazy

IsRegex RE Text Source # 
Instance details

Defined in Text.RE.TDFA.Text

IsRegex RE (Seq Char) Source # 
Instance details

Defined in Text.RE.TDFA.Sequence

data SearchReplace re s Source #

contains a compiled RE and replacement template

Constructors

SearchReplace 

Fields

  • getSearch :: !re

    the RE to match a string to replace

  • getTemplate :: !s

    the replacement template with ${cap} used to identify a capture (by number or name if one was given) and $$ being used to escape a single $

Instances
Functor (SearchReplace re) Source # 
Instance details

Defined in Text.RE.ZeInternals.Types.SearchReplace

Methods

fmap :: (a -> b) -> SearchReplace re a -> SearchReplace re b #

(<$) :: a -> SearchReplace re b -> SearchReplace re a #

(Show re, Show s) => Show (SearchReplace re s) Source # 
Instance details

Defined in Text.RE.ZeInternals.Types.SearchReplace

Methods

showsPrec :: Int -> SearchReplace re s -> ShowS #

show :: SearchReplace re s -> String #

showList :: [SearchReplace re s] -> ShowS #

searchReplaceAll :: IsRegex re s => SearchReplace re s -> s -> s Source #

search and replace all matches in the argument text; e.g., this function will convert every YYYY-MM-DD format date in its argument text into a DD/MM/YYYY date:

searchReplaceAll [ed|${y}([0-9]{4})-0*${m}([0-9]{2})-0*${d}([0-9]{2})///${d}/${m}/${y}|]

searchReplaceFirst :: IsRegex re s => SearchReplace re s -> s -> s Source #

search and replace the first occurrence only (if any) in the input text e.g., to prefix the first string of four hex digits in the imput text, if any, with 0x:

searchReplaceFirst [ed|[0-9A-Fa-f]{4}///0x$0|]

Replace