Как остановить анализатор Haskell Parsec в EOFHtml

Программисты Html
Ответить
Anonymous
 Как остановить анализатор Haskell Parsec в EOF

Сообщение Anonymous »

Итак, я пишу небольшой анализатор, который извлекает все содержимое тега с конкретным классом, например, Некоторый контент -> «Некоторый контент»

Я буду анализировать большой файл html , но мне не волнует весь шум, поэтому идея была в Потребляйте все символы, пока я не достигну , чем я бы употреблял все символы (контент) до и вернуть строку контента.

Это работает нормально, если последним элементом в файле является мой тег td.liste , но если у меня есть какой -то текст после него или EOF , то мой анализатор потребляет его и бросает неожиданный конец Ввод < /code> Если вы выполняете ParsemyTest Test3 < /code>. < /p>

- edit

См. End of test3 < /code> Чтобы понять, что такое случай края. < /p>

Вот мой код до сих пор: < /p>

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


Подробнее здесь: https://stackoverflow.com/questions/389 ... ser-at-eof
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Html»