Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!
0 Пользователей и 1 Гость просматривают эту тему.
#include <iostream>#include <pcre.h>using namespace std;int main(int argc, char* argv[]) { string buffer="000"; char regx_get_urls[] = "."; /* шаблон */ const char** result_url = NULL; /* для функции pcre_get_substring_list */ pcre *f; /* переменная для хранения преобразованного шаблона */ pcre_extra *f_ext; /* переменная для хранения дополнительных данных */ const char *errbuffer; /* буфер для сообщения об ошибке */ int errchar; /* номер символа */ int vector[1000]; /* массив для результатов */ int vecsize=1000; /* размер массива */ int pairs; /* количество найденных пар */ int i; for (int u=0; u<=1000; u++) vector[u]=0; cout<<"Шаблон - "<<regx_get_urls<<endl; if((f=pcre_compile(regx_get_urls,PCRE_MULTILINE|PCRE_CASELESS/*|PCRE_UTF8*/,&errbuffer,&errchar,NULL))==NULL) { cout<<"Ошибка: "<<errbuffer<<errchar<<regx_get_urls; } else { f_ext=pcre_study(f,0,&errbuffer); if((pairs=pcre_exec(f,f_ext,buffer.c_str(),buffer.length(),0,PCRE_NOTEMPTY,vector,vecsize))<0) { cout<<"Ошибка! Номер: \n"<<pairs; } else { if(pcre_get_substring_list(buffer.c_str(),vector,pairs,&result_url)<0) cout<<"Ошибка pcre_get_substring_list!"; else { cout<<"Найденно строк : "<<pairs<<endl; for(i=0; i<pairs; i++) cout<<i<<" : "<<result_url[i]<<endl; pcre_free_substring_list(result_url); } } } return 0;}
Страница сгенерирована за 0.131 секунд. Запросов: 21.