5

ほとんどすべての文字を含むことができる文字列があります。文字列の中に delimiter があり{{{ます。

例: afskjdfakjsdfkjas{{{fasdf.

attoparsec を使用して、 のParser ()前のすべての文字をスキップするが、 ?{{{を消費しないa の慣用的な書き方は何{{{ですか?

4

2 に答える 2

0

次のように少し難しい方法で行うことができます。

foo = many $ do
  Just c <- fmap (const Nothing) (try $ string "{{{") <|> fmap Just anyChar
  return c

manyTillまたは、このヘルパー関数を次のように使用できます。

foo = manyTill anyChar (try $ string "{{{")
于 2015-05-29T01:30:15.387 に答える