Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1279288
  • 博文数量: 168
  • 博客积分: 3483
  • 博客等级: 中校
  • 技术积分: 1696
  • 用 户 组: 普通用户
  • 注册时间: 2006-02-06 13:17
文章分类

全部博文(168)

文章存档

2015年(6)

2014年(9)

2013年(47)

2012年(11)

2011年(13)

2010年(18)

2009年(11)

2008年(42)

2007年(11)

分类:

2008-07-09 21:11:20

#include
#include
#include
#include

int
match(char *str, char *regstr, char *flags)
{
    int i;
    int ret = 0;
    regex_t regex;
    regex_t *preg = ®ex;
    int cflags = REG_EXTENDED;

    memset(preg, 0, sizeof(regex_t));

    for (i = 0; flags[i] != '\0'; ++i)
        switch (flags[i]) {
        case 'i':
            cflags |= REG_ICASE; break;
        }

    if (0 != regcomp(preg, regstr, cflags)) {
        fprintf(stderr, "regcomp failed: %s\n", strerror(errno));
        return (-1);
    }

    ret = regexec(preg, str, 0, NULL, 0);
    regfree(preg);

    return ret;
}

阅读(1376) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~