delibk 2016-04-27 03:18 采纳率: 100%
浏览 1568

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,.......}???????????????

  • 写回答

0条回答

    报告相同问题?

    悬赏问题

    • ¥15 java 操作 elasticsearch 8.1 实现 索引的重建
    • ¥15 数据可视化Python
    • ¥15 要给毕业设计添加扫码登录的功能!!有偿
    • ¥15 kafka 分区副本增加会导致消息丢失或者不可用吗?
    • ¥15 微信公众号自制会员卡没有收款渠道啊
    • ¥15 stable diffusion
    • ¥100 Jenkins自动化部署—悬赏100元
    • ¥15 关于#python#的问题:求帮写python代码
    • ¥20 MATLAB画图图形出现上下震荡的线条
    • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘