我正在使用 Haskell 进行文件解析,并且我同时使用Data.Attoparsec.Char8
和Data.ByteString.Char8
. 我想解析一个可以包含符号的表达式:- / [ ] _ 。(减号、斜线、括号和下划线)。
我写了以下解析器
import qualified Data.ByteString.Char8 as B
import qualified Data.Attoparsec.Char8 as A
identifier' :: Parser B.ByteString
identifier' = A.takeWhile $ A.inClass "A-Za-z0-9_//- /[/]"
...但它不像预期的那样工作。
ghc> A.parse identifier' (B.pack "EMBXSHM-PortClo")
Done "-PortClo" "EMBXSHM"
ghc> A.parse identifier' (B.pack "AU_D[1].PCMPTask")
Done ".PCMPTask" "AU_D[1]"
有人能帮我吗。
谢谢你的时间。