The OpenNET Project / Index page

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

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"Загадочное поведение ф-ции regexec"
Вариант для распечатки Архивированная нить - только для чтения! 
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [Проследить за развитием треда]

"Загадочное поведение ф-ции regexec"
Сообщение от OF462M emailИскать по авторуВ закладки on 22-Апр-03, 07:44  (MSK)
Подскажите пожалуйста, в чем я(или не я) не прав? Цель этой небольшой тестовой программки - найти в строке все подстроки, удовлетворяющие заданному регулярному выражению и вывести на экран номера позиций начала и конца совпавших подстрок:

/************************
test.c
*************************/

#include <sys/types.h>
#include <regex.h>
#include <stdio.h>

main()
{
  regex_t regexpr;
  regmatch_t pm[3]; // предполагаем не более 3-х совпадений
  size_t n;
  int i;
  regcomp(®expr,"[abc]example",REG_EXTENDED);
  switch(regexec(®expr,"hsvvaexamplewqbcdbexamplebxjzhv",n,pm,0))
  {
  case REG_NOMATCH:
   printf("no match\n");
   break;
  default:
   printf("Matches: %i\n",n);
   for (i=0;i<=n-1;i++)
   {
    printf("[%i]",pm[i].rm_so);
    printf("[%i]\n",pm[i].rm_eo - 1);
   }
  }
  regfree(®expr);
  return 0;
}

stat# g++ -o test test.c
stat# ./test
Matches: 1
[4][11]

такой вот результат..  
Второе совпадение не находится.

  Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "Загадочное поведение ф-ции regexec"
Сообщение от pth Искать по авторуВ закладки on 22-Апр-03, 22:46  (MSK)
Вроде regexec ведет себя правильно:

pmatch[0] - все совпадение
pmatch[1] - 1-е выражение в скобках
pmatch[2] - 2-e  -"-                и т.д.

  Рекомендовать в FAQ | Cообщить модератору | Наверх


Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




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

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