• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

VerbalExpressions/HaskellVerbalExpressions

原作者: [db:作者] 来自: 网络 收藏 邀请

开源软件名称(OpenSource Name):

VerbalExpressions/HaskellVerbalExpressions

开源软件地址(OpenSource Url):

https://github.com/VerbalExpressions/HaskellVerbalExpressions

开源编程语言(OpenSource Language):

Haskell 100.0%

开源软件介绍(OpenSource Introduction):

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



鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap