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

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

Сообщение Anonymous »

Итак, я пишу небольшой анализатор, который извлекает все содержимое тега с конкретным классом, например, Некоторый контент -> «Некоторый контент»
Я буду анализировать большой файл html , но мне не волнует весь шум, поэтому идея заключалась в том, чтобы потреблять все символы до тех пор, пока Я достигаю , чем я использовал все символы (контент) до и вернуть строку контента.
Это работает нормально, если последним элементом в файле является мой тег td.liste , но если у меня есть какой -то текст после него или EOF , то мой анализатор потребляет его и бросает неожиданный конец ввода , если вы Выполнить ParsemyTest test3 .
См. Конец Test3 , чтобы понять, что такое случай края.
Вот мой код Пока что: < /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»