我正在尝试使用由多个字符组成的定界符来分隔字符串,但问题是这些字符中的每一个都可以在非定界字符串中单独出现。例如,我有foo*X*bar*X*baz, 分隔符在哪里*X*,所以我想得到[foo, bar, baz],但每个都可以包含*or X。
我努力了
sepBy (many anyChar) delimiter
但这只会吞噬整个字符串,"foo*X*bar*X*baz"如果我这样做的话
sepBy anyChar (optional delimiter)
它会正确过滤掉分隔符,但不会对列表进行分区,返回"foobarbaz". 我不知道我可以尝试哪种其他组合。