Владимир Коротенко, картинка может подгружаться скриптом во время работы страницы, и это обыденная методика. Тогда либо нужно искать какие-то метаданные по странице, т.е. всё-таки парсить, либо нужна среда исполнения JS (вы сами упоминали меняющийся формат данных)
Кто-то что-то не удалил из стека. Нужно дебажить.
В ошибке же написано: To Debug, enable the define: DEBUG_STACK_LEAK in StackAllocator.h. This will output the callstacks of the leaked allocations.
Владимир Коротенко, ваш пример не оправдывает использование регулярных выражений для сложного разбора больших объёмов кода контекстно-свободной грамматики. В частности в HTML могут использоваться: HTML-код, код стилей, не вынесенный в CSS-файл и JavaScript. Я не уверен, может быть что-то ещё. Итого имеем 3 языка в одном документе, которые в непредсказуемом месте перетекают друг в друга. Итого нужно иметь 3 разных парсера, и скорее всего 3 разных лексера.
Простой пример: есть тег link ... , и допустим, вы ищете его в тексте по (здесь угловая скобка, почему-то не отображается)link. Но раз в году и палка стреляет, и однажды вы напоретесь на скрипт, содержащий код: x(меньше)link, и ваш парсинг поломается.
А на следующий год вы наткнётесь на комментарий в JS-коде, содержащий этот текст. Или на комментарий HTML-кода. Или на комментарий в JS-коде, который будет закомментирован на уровне HTML-кода.
К тому же, HTML разрешает не закрывать некоторые теги, мне прям интересно, как вы обработаете все ситуации. А вложенность HTML-документов сегодня немаленькая.
Регулярные выражения только кажутся невероятным инструментом для чего угодно.
Когда есть только молоток, всё похоже на гвоздь.
Я вообще затрудняюсь придумать честную область применения регулярных выражений, где они были бы к месту.
Но точно не для разбора грамматики, которая выше по уровню регулярной!
Во-первых, вы правда предлагаете использовать regexp для разбора контекстно-свободной грамматики?
Во-вторых, с каких это пор методов парсинга всего два? Для одного только HTML/XML их не меньше трёх (SAX, StAX, DOM)
Написано
Войдите на сайт
Чтобы задать вопрос и получить на него квалифицированный ответ.