Ich werde eine große HTML -Datei analysieren, aber ich kümmere mich nicht wirklich um all das Geräusch, also war die Idee zu Konsumieren Sie alle Zeichen, bis ich erreiche, als ich alle Zeichen (Inhalt) konsumieren würde, bis in den Inhaltszeichenfolge zurückgegeben würde.
Dies funktioniert einwandfrei, wenn das letzte Element in einer Datei mein td.liste Tag ist. Wenn ich jedoch einen Text danach habe oder als mein Parser es konsumiert und das unerwartete Ende wirft von input < /code> Wenn Sie PreaksemyTest Test3 < /code>. Um zu verstehen, was der Edge -Fall ist.
Code: Select all
import Text.Parsec
import Text.Parsec.String
import Data.ByteString.Lazy (ByteString)
import Data.ByteString.Char8 (pack)
colOP :: Parser String
colOP = string ""
colCL :: Parser String
colCL = string ""
col :: Parser String
col = do
manyTill anyChar (try colOP)
content Either ParseError [String]
parseMyTest test = parse cols "test" test
btos :: ByteString -> String
btos = read . show