我是新学习Haskell并且一直在使用这本书" Haskell-The Craft of Functional Programming 3rd edition"并且我坚持第12章关于正则表达式,特别是问题12.16:
实现以下功能: 选项,加号:: RegExp-> RegExp - 其中选项e匹配0或1出现的e和加e匹配1个或多个出现的e。
我不知道在哪里开始,所以任何帮助将不胜感激!感谢
答案 0 :(得分:1)
根据star
函数,plus
函数应该是这样的:
plus :: RegExp -> RegExp
plus e = e <*> star e
其中a <*> b
表示“a后跟b”,star
匹配0或多个出现。
尝试将epsilon
和(|||)
用于option
功能。