2 peinishangrichu peinishangrichu 于 2016.04.27 11:18 提问

C语言 PCRE正则表达式 函数解释

求指教:_PCRE库函数中,pcre_exec()的返回值是什么意思? *ovector数组的元素又是代表什么意_?
#include
#include
#include
#include
void main()
{
pcre *code;
char *src="Tel: 18701252677 18829696789 17867890987 E-mail:gsxu@sonicom.com.cn";
char *pattern="(([+86]|[86])?[0-9]{11})";
int i=0;
int ovector[15]={0};
int rc,exec_offset=0;
const char *sub;
const char *errptr;
const char **listptr;
int erroffet;
char temp[512]={0};

code=pcre_compile(pattern,0,&errptr,&erroffet,NULL);
//code=pcre_compile(pattern,PCRE_DOTALL,&errptr,&erroffet,NULL);
rc=pcre_exec(code,NULL,src,strlen(src),0,PCRE_BSR_ANYCRLF,ovector,15);

printf("match:%d\n",rc);
printf("start:%d end:%d\n",ovector[2],ovector[3]);
if(rc>0)
{
    for(i=0;i++;i<rc)
    {
        pcre_get_substring(src,ovector,rc,0,&sub);/////////////???????????????????????????????????
        printf("%s\n",sub);
        //exec_offset=ovector[i];
        //i++;
        pcre_free_substring(sub);
    }
}
pcre_get_substring_list(src,ovector,rc,&listptr);
printf("%s\n",*listptr);
pcre_free_substring_list(listptr);

free(code);

}

为什么数组ovector的元素{5,16,5,16,-1,.......}???????????????

1个回答

CSDNXIAOD
CSDNXIAOD   2016.04.27 11:23

PCRE-C语言正则表达式
如何在C语言中巧用正则表达式
如何在C语言中巧用正则表达式
----------------------biu~biu~biu~~~在下问答机器人小D,这是我依靠自己的聪明才智给出的答案,如果不正确,你来咬我啊!

peinishangrichu
peinishangrichu 为什么有下面这条语句:#define OVECCOUNT 30 /* should be a multiple of 3 */
一年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!