Safe Haskell | None |
---|---|
Language | Haskell2010 |
AUTHOR
- Dr. Alistair Ward
DESCRIPTION
- Defines binary operators, to form a Domain-specific Language, by which to compose
Concatenations
fromPattern
s. - Each operator quantifies the specified
Pattern
, & prepends it to the specifiedConcatenation
.
TODO
- Could
[]
&Meta
be instances of a type-class which has methods (-:) etc., allowing the former to prependcaptureGroup
& the latterRequire
?
Synopsis
- (-:) :: Pattern a -> Concatenation a -> Concatenation a
- (?:) :: Pattern a -> Concatenation a -> Concatenation a
- (??:) :: Pattern a -> Concatenation a -> Concatenation a
- (*:) :: Pattern a -> Concatenation a -> Concatenation a
- (*?:) :: Pattern a -> Concatenation a -> Concatenation a
- (+:) :: Pattern a -> Concatenation a -> Concatenation a
- (+?:) :: Pattern a -> Concatenation a -> Concatenation a
- (#->#:) :: (Pattern a, RepetitionBounds) -> Concatenation a -> Concatenation a
- (#->#?:) :: (Pattern a, RepetitionBounds) -> Concatenation a -> Concatenation a
- (#->:) :: (Pattern a, Repetitions) -> Concatenation a -> Concatenation a
- (#->?:) :: (Pattern a, Repetitions) -> Concatenation a -> Concatenation a
- (#:) :: (Pattern a, Repetitions) -> Concatenation a -> Concatenation a
- (<~>) :: AnchorSpecification -> Concatenation a -> ExtendedRegEx a
Functions
Operators
(-:) :: Pattern a -> Concatenation a -> Concatenation a infixr 5 Source #
Prepend an unrepeated Pattern
, to the specified Concatenation
.
(?:) :: Pattern a -> Concatenation a -> Concatenation a infixr 5 Source #
Prepend an optional Pattern
, to the specified Concatenation
.
(??:) :: Pattern a -> Concatenation a -> Concatenation a infixr 5 Source #
A non-greedy version of ?:
.
(*:) :: Pattern a -> Concatenation a -> Concatenation a infixr 5 Source #
Prepend a Pattern
, repeatable zero or more times, to the specified Concatenation
.
(*?:) :: Pattern a -> Concatenation a -> Concatenation a infixr 5 Source #
A non-greedy version of *:
.
(+:) :: Pattern a -> Concatenation a -> Concatenation a infixr 5 Source #
Prepend a Pattern
, repeatable one or more times, to the specified Concatenation
.
(+?:) :: Pattern a -> Concatenation a -> Concatenation a infixr 5 Source #
A non-greedy version of +:
.
(#->#:) :: (Pattern a, RepetitionBounds) -> Concatenation a -> Concatenation a infixr 5 Source #
Prepend a Pattern
, repeated a range of times, to the specified Concatenation
.
(#->#?:) :: (Pattern a, RepetitionBounds) -> Concatenation a -> Concatenation a infixr 5 Source #
A non-greedy version of #->#:
.
(#->:) :: (Pattern a, Repetitions) -> Concatenation a -> Concatenation a infixr 5 Source #
Prepend a Pattern
, repeated at least a specified number of times, to the specified Concatenation
.
(#->?:) :: (Pattern a, Repetitions) -> Concatenation a -> Concatenation a infixr 5 Source #
A non-greedy version of #->:
.
(#:) :: (Pattern a, Repetitions) -> Concatenation a -> Concatenation a infixr 5 Source #
Prepend a Pattern
, repeated a precise number of times, to the specified Concatenation
.
:: AnchorSpecification | A specification for the anchors required around the expression. |
-> Concatenation a | The bare list of repeatable patterns to anchor. |
-> ExtendedRegEx a | The completed regex. |
- Sandwiches a
Concatenation
between optionalAnchor
s to construct aExtendedRegEx
. - Accounts for the unusual requirement to place an
Stern
at the start of theConcatenation
, or anBow
at the end.