pcre-utils-0.1.4: Perl-like substitute and split for PCRE regexps.

Safe HaskellNone

Text.Regex.PCRE.ByteString.Utils

Contents

Description

A module implementing regexp-based split and substitute.

>>> substituteCompile "(a+)" "lapin" "'\\1'"
Right "l'a'pin"
>>> splitCompile "\\d" "a1b2c3"
Right ["a","b","c"]

Synopsis

Perl-like utility functions

substituteSource

Arguments

:: Regex

The regular expression, taken from a call to compile

-> ByteString

The source string

-> ByteString

The replacement string

-> IO (Either String ByteString) 

Substitutes values matched by a Regex. References can be used.

It doesn't support anything else than global substitution for now ..

splitSource

Arguments

:: Regex

The regular expression, taken from a call to compile

-> ByteString

The source string

-> IO (Either String [ByteString]) 

Splits strings, using a Regex as delimiter.

substituteCompileSource

Arguments

:: ByteString

The regular expression

-> ByteString

The source string

-> ByteString

The replacement string

-> IO (Either String ByteString) 

Compiles the regular expression (using default options) and substitutes

splitCompileSource

Arguments

:: ByteString

The regular expression

-> ByteString

The source string

-> IO (Either String [ByteString]) 

Compiles the regular expression (using default options) and splits.

Re-exports from Text.Regex.PCRE.ByteString

Pure version of the functions, using unsafePerformIO

compile' :: CompOption -> ExecOption -> ByteString -> Either (MatchOffset, String) RegexSource

A pure version of compile, using unsafePerformIO.

execute' :: Regex -> ByteString -> Either WrapError (Maybe (Array Int (MatchOffset, MatchLength)))Source

A pure version of execute, using unsafePerformIO.

substitute'Source

Arguments

:: Regex

The regular expression, taken from a call to compile

-> ByteString

The source string

-> ByteString

The replacement string

-> Either String ByteString 

A pure version of substitute, using unsafePerformIO.

split'Source

Arguments

:: Regex

The regular expression, taken from a call to compile

-> ByteString

The source string

-> Either String [ByteString] 

A pure version of split, using unsafePerformIO.

substituteCompile'Source

Arguments

:: ByteString

The regular expression

-> ByteString

The source string

-> ByteString

The replacement string

-> Either String ByteString 

A pure version of substituteCompile, using unsafePerformIO.

splitCompile'Source

Arguments

:: ByteString

The regular expression

-> ByteString

The source string

-> Either String [ByteString] 

A pure version of splitCompile, using unsafePerformIO.