我想使用由多個字符組成的分隔符來分隔字符串,但問題是每個這些字符都可能出現在非分隔字符串中。例如,我有foo*X*bar*X*baz
,其中分隔符是*X*
,所以我想獲得[foo, bar, baz]
,但其中每一個都可以包含*
或X
。如何使用Parsec sepBy模糊解析?
我已經試過
sepBy (many anyChar) delimiter
但只是吞下整個字符串,給人"foo*X*bar*X*baz"
,如果我做
sepBy anyChar (optional delimiter)
它正確地過濾掉分隔符,但不分區名單,返回"foobarbaz"
。我不知道我可以嘗試哪種組合。
我們必須爲3個功能:'lookAhead','manyTill'和'between'。 – wit