2016-02-22 46 views
1

進出口新的學習Haskell並一直在使用這本書「函數編程第三版的哈斯克爾-的工藝」和我被困在第12章中關於正則表達式的問題12.16特別:哈斯克爾正則表達式

實現以下功能: 選項,加上:: RegExp-> RegExp - 其中選項e匹配0或1次出現的e,加上e匹配1次或多次出現的e。

林不知道哪裏evenbegin所以任何幫助將不勝感激!感謝

+0

檢查[此資源](https://github.com/c089/haskell-craft3e/blob/master/Chapter12.hs#L52) –

+1

我不知道這將有助於特定練習,但[ '正則表達式應用程序'](https://hackage.haskell.org/package/regex-applicative)爲處理常規語言提供了一個特別令人愉快的API。 – dfeuer

回答

1

按照star功能,plus函數應該是這樣的:

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

a <*> b裝置 「的後跟b」 和star匹配0或多次出現。

嘗試使用epsilon(|||)作爲option函數。