regex в MidletPascal
Задача простая:
Нужно скачать страничку и найти там нужные строки. ПОнимаю что я не прав используя для этого MidletPascal, но java я изучать не хочу, а красота и минимализм MP - меня очень радуют, как и платформа ZX. Вообщем Прочитать странички я могу, но искать текст строковыми функциями будет крайне неудобно. Какие варианты вообще есть, ведь я понял так что регулярные выражения - тема не раскрыта на форуме ? Спасибо |
Ответ: regex в MidletPascal
Регулярные выражения в Java? Лучше примитивами искать, так как даже если бы и были регулярные выражения, они бы обрабатывали всё ооочень медленно.
|
Ответ: regex в MidletPascal
несколько вопросов: какого максимального размера скачиваемая страница; какой именно текст нужно искать (между тегами или просто? одно слово или несколько?); на каком телефоне будет работать; действия после нахождения нужного текста? MIDdletPascal плох тем что после работы строковых функций в памяти остается много мусора... если будет время и мне понравится задачка - сделаю...
|
Ответ: regex в MidletPascal
Текст размером около 50 килобайт.
телефон - как минимум SE k300 Вытаскивать нужно ссылки из тэгов. <a href="http://ya.ru?z=1827398"> Вытащить нужно в данном случае 1827398 . регуляркой тут будет href="http://ya.ru?z=(\d+), откуда нужно получить $1 Но нельзя сказать что это единственная задача выпарсивания? но на данный момент я хотел бы решить именно такую задачу. |
Ответ: regex в MidletPascal
А не проще ли просто искать текст ?z= и обрезать после него число.
Затача более чем простая. И регулярный выражения тут успользовать совершенно ни к чему. Кстати, в будущем к библиотеке Lib_parse возможжно добавится и функция парсинга XML документов, что было бы полезно, к примеру, в данном случае. |
Ответ: regex в MidletPascal
Практически полноценный html-парсер, можно производить парсинг любых тегов и их параметров.. делал для оптимизации html-страниц, где нужно было вырезать теги с учетом вложенности, или убирать ненужные параметры..
Код:
var |
Ответ: regex в MidletPascal
А можешь выложить пример как загружаешь страницу? А то у меня никак не выходит. Зараннее спасибо.
|
Ответ: regex в MidletPascal
а в MIDletPascal help глянуть не вариант? :) лучше предложить не смогу...
|
Ответ: regex в MidletPascal
ПОнятно, придется руками искать пока ?z=
Радует так же пока что это единственная пока задача, однако через какое-то время появятся похожие, думаю регулярки тут идеальное решение. |
Ответ: regex в MidletPascal
Регулярки работают на основе тех же примитивных функций, на сколько я знаю. Но многие слишком часто использую регулярные выражения где надо и не надо. Конечно, регулярку написать проще, чем поиск кусков текста в цикле, но пострадает скорость работы приложения. Регулярные выражения - это же как бы надстройка над языком программирования. Java - это платформа, при написании под которую нужно всё максимально оптимизировать, вводить в неё в использование регулярные выражения - идиотизм.
|
Ответ: regex в MidletPascal
Да это холивар. По идее мне скорость работы JAVA не критична, а вот скорость разработки критична.Я за Регекспы. Пока же придется конечно пользоваться циклами, пока не найдется решение.
|
Ответ: regex в MidletPascal
Оно и не найдётся. Писать класс, эмулирующий регулярки, никто не будет.
|
Re: regex в MidletPascal
Есть реализации для паскаля (легко найти такой гуглом), можно один из таких взять и портировать под MIDletPascal!
|
Ответ: regex в MidletPascal
Цитата:
|
Re: Ответ: regex в MidletPascal
Цитата:
Да даже если бы с нуля надо было написать, а не портировать, не ужели это не выполнимо или на столько трудно? Всё упирается лишь во время, а не выполнимых задач нету! А я портирую, если мне будет не удобена та прога, которую сейчас ставлю на замену MP (я сижу под GNU/Linux, и через wine юзать проги не люблю, но у этой проги есть минусы... хоть и будет работать нормально). ЗЫ на данный момент проблему парсинга решаю иначе, на хост загрузил скриптик перловый, который парсит нужную мне страницу и выдаёт нужные даннные в нужном формате, а я это дело забираю своим мидлетом :) |
Часовой пояс GMT +4, время: 21:52. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot