Haskell正则表达式

时间:2016-02-22 22:35:52

标签: regex haskell

我是新学习Haskell并且一直在使用这本书" Haskell-The Craft of Functional Programming 3rd edition"并且我坚持第12章关于正则表达式,特别是问题12.16:

实现以下功能:    选项,加号:: RegExp-> RegExp - 其中选项e匹配0或1出现的e和加e匹配1个或多个出现的e。

我不知道在哪里开始,所以任何帮助将不胜感激!感谢

1 个答案:

答案 0 :(得分:1)

根据star函数,plus函数应该是这样的:

plus :: RegExp -> RegExp
plus e = e <*> star e

其中a <*> b表示“a后跟b”,star匹配0或多个出现。

尝试将epsilon(|||)用于option功能。