verbalexpressions alternatives and similar packages
Based on the "Text" category.
Alternatively, view verbalexpressions alternatives based on common mentions on social networks and blogs.
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest. Visit our partner's website for more details.
Do you think we are missing an alternative of verbalexpressions or a related project?
Haskell Regular Expressions made easy
VerbalExpressions is a Haskell library that helps to construct difficult regular expressions.
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
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
-- 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 of Verbal Expressions is through a singleton, called
verEx, that creates a new expression for you:
let expr = (all of your terms) $ verEx
- . anything
- . anythingBut - String
- . something
- . somethingBut - String
- . endOfLine'
- . find - String
- . possibly - String
- . startOfLine
Special characters and groups
- .any - String
- .anyOf - String
- .range - [String]
- .replace - String(source) String(value)
- .add - String
- .multiple - String