Покинул форум
Сообщений всего: 8217
Дата рег-ции: Март 2013 Откуда: Одесса
Репутация: 357
Функции parserstart и parser предназначены для поиска и классификации нужной нам информации в наборе данных. Парсинга.
Позволяют легко и надежно достать нужную информацию с сложной, динамической структуры набор данных.
parserstart - подготавливает парсер к работе. В виде параметра принимает стоку string, тект который будем парсить. Обнуляет позицию начала парсинга на 0.
Первый параметр - удаленность на количество символов от предыдущего найденного с помощью этой функции или -1 если не учитывать.
Если удаленность найденного превышает этот параметр функция вернет 0.
Второй параметр - Регулярное выражение, описывающее текст, который должен идти перед искомыми данными.
Допускается указывать через запятую (следующими параметрами различные варианты этого текста.
Пример:
Означает что перед нужными данными может быть либо
CODE:
"<p>"
, либо
CODE:
"<br>"
Третий параметр - Указатель на одномерный массив string, в который запишется найденная информация.
Четвертый параметр - ожидаемая длина в символах искомых данных. Если длина превысила - функция вернет 0.
Пятый параметр - Регулярное выражение, описывающее текст, который должен идти после искомых данных.
Допускается указывать через запятую (следующими параметрами различные варианты этого текста.
===================
Так же допускается не обязательный последний параметр
0 или 1
Синтаксис:
CODE:
parser(50, "<p>", #S, 1000, "</p>", 0)
CODE:
parser(50, "<p>", #S, 1000, "</p>", 1)
0 - Означает что будет найдено первое длинное вхождение, (как и без параметра).
1 - Будет найдено самое короткое вхождение заканчивающееся регулярным выражением которое означает конец подстроки.
Пример:
В самом тексте После чего или Перед чем можно указывать элементы регулярных выражений.
Покинул форум
Сообщений всего: 459
Дата рег-ции: Май 2020
Репутация: 23
Kibor
Отправлено: 10 Марта, 2022 - 19:05:59
Эксперт
Покинул форум
Сообщений всего: 8217
Дата рег-ции: Март 2013 Откуда: Одесса
Репутация: 357
Доработка parser
Так же допускается не обязательный последний параметр
0 или 1
Синтаксис:
CODE:
parser(50, "<p>", #S, 1000, "</p>", 0)
CODE:
parser(50, "<p>", #S, 1000, "</p>", 1)
0 - Означает что будет найдено первое длинное вхождение, (как и без параметра).
1 - Будет найдено самое короткое вхождение заканчивающееся регулярным выражением которое означает конец подстроки.
Пример:
CODE:
Найдет между первым > и первым < после первого >
<td class=^"s1^" dir=^"ltr^"> Феникс 555-22-22, Кирилл, Донецк
string T="</td> <td class=^"s1^" dir=^"ltr^"> Феникс 555-22-22, Кирилл, Донецк </td> <td class=^"s0^"></td><td class=^"s0^">";
messagebox (T);
parserstart(T);
string S;
parser(-1, ">", #S, 100, "<\/td", 0);
messagebox (S);
CODE:
Найдет между первым > перед первым <
Феникс 555-22-22, Кирилл, Донецк
string T="</td> <td class=^"s1^" dir=^"ltr^"> Феникс 555-22-22, Кирилл, Донецк </td> <td class=^"s0^"></td><td class=^"s0^">";
messagebox (T);
parserstart(T);
string S;
parser(-1, ">", #S, 100, "<\/td", 1);
messagebox (S);
Все гости форума могут просматривать этот раздел. Только администраторы и модераторы могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.