여러 문자로 구성된 구분 기호를 사용하여 문자열을 구분하려고 시도하고 있지만 문제는 각 문자가 구분되지 않는 문자열에서 단독으로 나타날 수 있다는 것입니다. 예를 들어 foo*X*bar*X*baz
이 있는데 여기서 구분 기호는 *X*
이므로 [foo, bar, baz]
을 얻고 싶습니다. 그러나 각 요소에는 *
또는 X
이 포함될 수 있습니다. ,Parsec과 모호한 구문 분석을 어떻게 구분합니까?
나는
sepBy (many anyChar) delimiter
을 시도했지만 그건 그냥 내가
sepBy anyChar (optional delimiter)
가 올바르게 구분 기호를 필터링 할 경우 "foo*X*bar*X*baz"
을 제공, 전체 문자열을 삼켜하지만 목록을 분할하지 않습니다 "foobarbaz"
을 반환합니다. 어떤 조합을 시도해 볼 수 있을지 모르겠다.
우리는 3 개 기능을 가지고 있습니다. – wit