Авторизация
Подписка
Теги
.bat ARTIO AntiRegQuestion DMOZ JComments Jabber Notification JSession JoomSEF Joomla Joomla 1.6 Restricted Access SEO com_search ftp.exe getUserStateFromRequest html parser html парсер joomla joomla 1.6 joomla plugin jabber notification joomla templates joomla user profile parser simple html dom parser templates ubuntu virtuemart Отзывы Ошибка Помощь в обмен за благодарность Рабочий календарь Шатова Артема Резюме Шатова Шаблоны joomla 1.5 Шаблоны для Joomla Шатов Артем заказать сайт интернет магазин joomla интернет-магазин интернет-магазин Joomla 1.6 интернет-магазин joomla консольный скрипт морфология обновление сайта отзывы парсер плагин плагин joomla поиск Joomla помощь за спасибо портфолио раздельная регистрация физических и юридических лиц Joomla 1.6 разработка компонента расширения Joomla регулярные выражения сайт сайт-визитка стеммер Портера тестирование формальное описание спецификаций шаблон шаблон для joomla шаблоны шаблоны joomla 404
Очередной парсинг
Сегодня в очередной раз пришлось заниматься разбором строк. В этот раз это была номенклатура резисторов. Из 9000 наименований получилось разобрать около 8000. Причем все решилось четырьмя регулярками. На остальные у автора терпения не хватило.
Вот примерные выдержки:
<?php if (preg_match('/^[ ]+\d{1}.\d{2}\w+[ ]+([\d\.^W]*)W[ ]*([\d\.]+)([KК]*)[ ]*([\+\d]+)%$/i' , $data[0], $matches)) { //.. //.. } else if (preg_match('/^([МК ]+)([\d\.]+)С[^-]+\-[^ ]+[ ]+([\d\.]+)[ ]+([\+\d\.]+)%/i' , $data[0], $matches)) { //.. //.. } else if (preg_match('/^([МК ]+)[ ]*([\d\.]+)[MCF^-]+\-([\d\.]+)[ ]+[\d\.]+[MK]*[ ]+([\+\d\.]+)%/i' , $data[0], $matches)) { //.. //.. } ?>
Используя эти регулярки, удалось получить номинал, рассеиваемую мощность, погрешность. И делов то, на три часа(из них на программирование потратилось не больше часа) остальное время на анализ предметной области.
| < Предыдущая | Следующая > |
|---|
