The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Объясните функцию pcre_exec. PCRE. С."
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [Проследить за развитием треда]

"Объясните функцию pcre_exec. PCRE. С."  
Сообщение от Mr.Link email(ok) on 21-Дек-07, 12:21 
Ман:
int pcre_exec(const pcre *code, const pcre_extra *extra,
            const char *subject, int length, int startoffset,
            int options, int *ovector, int ovecsize);
...
ovecsize     Number of elements in the vector (a multiple of 3)

Почему должен быть кратен 3-м, если обработка ведется по парам (взял из примеров):
      count = pcre_exec (re, NULL, (char *) str, 4, 0, 0, ovector, 30);
      // выполнение сопоставления с образцом
      if (!count){ // если нет совпадений
         cout << "No match\n";
      }
      else{
         //вывод пар {начало, конец} совпадения
         for (int c = 0; c < 2 * count; c += 2){
            if (ovector[c] < 0){ // или <unset> для несопоставившихся подвыражений
               cout << "<unset>\n";
            }
            else{
               cout << ovector[c] << "/" << ovector[c + 1] << "\n";
            }
         }
      }

Высказать мнение | Ответить | Правка | Cообщить модератору

 Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Объясните функцию pcre_exec. PCRE. С."  
Сообщение от exn (??) on 21-Дек-07, 16:19 
http://webcode.ru/re/pcre/
ну тут вроде сказано что
В последних двух аргументах нужно указать ссылку на массив целых чисел и его длину.


хтя pcre серьено не пользую, плохой код имхо

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "Объясните функцию pcre_exec. PCRE. С."  
Сообщение от exn (??) on 21-Дек-07, 16:23 
пфу блин, не то скопировал..

  примеров нормальных полно, на *ix.opennet.ru както сайт такой каричневенький.
вот по нем pcre учил.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

3. "Объясните функцию pcre_exec. PCRE. С."  
Сообщение от Mr.Link email(ok) on 21-Дек-07, 17:41 
>http://webcode.ru/re/pcre/
>ну тут вроде сказано что
>В последних двух аргументах нужно указать ссылку на массив целых чисел и
>его длину.

Про аргументы я всё понял сразу. Я одного не понял почему длина массива должна быть кратна трём, а используются для возврата пары(начало/конец)

>
>хтя pcre серьено не пользую, плохой код имхо

А что используешь?

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

4. "Объясните функцию pcre_exec. PCRE. С."  
Сообщение от Michelnok (??) on 22-Дек-07, 15:50 
>почему длина массива должна быть кратна трём, а используются для возврата
>пары(начало/конец)

Походу 2/3 массива используется для возврата, а 1/3 - для врЕменных данных самой pcre_exec.

Криво, конечно.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру