我正在尝试使用由多个字符组成的定界符来分隔字符串,但问题是这些字符中的每一个都可以在非定界字符串中单独出现。例如,我有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"
. 我不知道我可以尝试哪种其他组合。