verbalexpressions alternatives and similar packages
Based on the "Text" category.
Alternatively, view verbalexpressions alternatives based on common mentions on social networks and blogs.
-
pandoc-citeproc
Library and executable for using citeproc with pandoc -
scholdoc
Fork of Pandoc for the implementation of a ScholarlyMarkdown parser -
prettyprinter
A modern, extensible and well-documented prettyprinter. -
skylighting
A Haskell syntax highlighting library with tokenizers derived from KDE syntax highlighting descriptions -
blaze-from-html
A blazingly fast HTML combinator library for Haskell. -
commonmark
Pure Haskell commonmark parsing library, designed to be flexible and extensible -
regex-genex
Given a list of regexes, generate all possible strings that matches all of them. -
text-offset
Emits code crossreference data for Haskell sources. -
regex-applicative
Regex-based parsing with an applicative interface -
pandoc-csv2table
A Pandoc filter that renders CSV as Pandoc Markdown Tables. -
servant-checked-exceptions
type-level errors for Servant APIs. -
pretty-show
Tools for working with derived Show instances in Haskell. -
double-conversion
A fast Haskell library for converting between double precision floating point numbers and text strings. It is implemented as a binding to the V8-derived C++ double-conversion library. -
text-format
A Haskell text formatting library optimized for ease of use and high performance. -
diagrams-pandoc
A pandoc filter to express diagrams inline using the haskell EDSL diagrams. -
boxes
A pretty-printing library for laying out text in two dimensions, using a simple box model. -
hyphenation
Knuth-Liang Hyphenation for Haskell based on TeX hyphenation files -
ghc-syntax-highlighter
Syntax highlighter for Haskell using the lexer of GHC
Access the most powerful time series database as a service
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of verbalexpressions or a related project?
README
HaskellVerbalExpressions
Haskell Regular Expressions made easy
VerbalExpressions is a Haskell library that helps to construct difficult regular expressions.
This haskell lib is based off of the (original) Javascript VerbalExpressions library by jehna.
Other Implementations
You can see an up to date list of all ports on VerbalExpressions.github.io.
How to get started
cd to HaskellVerbalExpressions
cabal install verbalexpressions.cabal
ghc Text/Regex/VerbalExpressions/verbalexpressions.hs examples.hs
Examples
Here's a couple of simple examples to give an idea of how VerbalExpressions works:
Testing if we have a valid URL
-- Create an example of how to test for correctly formed URLs
let expr = searchGlobal >>>
startOfLine >>>
find "http" >>>
possibly "s" >>>
find "://" >>>
possibly "www" >>>
anythingBut " " >>>
endOfLine
$ verEx
-- Use VerEx's test() function to find if it matches
print $ test "http://www.google.com" expr
-- Outputs the actual expression used: ^(?:http)(?:s)?(?:://)(?:www.)?(?:[^ ]*)$
print $ expr
Replacing strings
-- Create a test string
let replaceMe = "Replace bird with a duck"
-- Create an expression that seeks for word "bird"
let expr2 = find "bird" $ verEx;
-- Execute the expression
print $ replace replaceMe "duck" expr2
Shorthand for string replace:
print $ replace "We have a red house" "blue" . find "red" $ verEx
Here you can find the API documentation for Verbal Expressions
Basic usage
Basic usage of Verbal Expressions is through a singleton, called verEx
, that creates a new expression for you:
let expr = (all of your terms) $ verEx
API
Terms
- . anything
- . anythingBut - String
- . something
- . somethingBut - String
- . endOfLine'
- . find - String
- . possibly - String
- . startOfLine
Special characters and groups
- .any - String
- .anyOf - String
- .br
- .lineBreak
- .range - [String]
- .tab
- .word
Modifiers
- .withAnyCase
- .searchOneLine
- .searchGlobal
Functions
- .replace - String(source) String(value)
- .test
Other
- .add - String
- .multiple - String
- .alt