Regex

vijay nag vijunag@gmail.com
Thu Jan 9 14:44:00 GMT 2014


On Thu, Jan 9, 2014 at 5:57 PM, Игорь Пашев <pashev.igor@gmail.com> wrote:
> 2014/1/9 vijay nag <vijunag@gmail.com>:
>> Ok. And the real question here is, why "*" cannot be used to match any
>> string in extended regular expression whereas it works fine in basic
>> regular expressions ?
>
> Could you provide a minimal test program?
>
> It looks like a bug.
>
> http://pubs.opengroup.org/onlinepubs/009695399/functions/regcomp.html :
>
> REG_BADRPT
> '?', '*', or '+' not preceded by valid regular expression.

cat regex.c

#include <stdio.h>
#include <regex.h>

int main()
{
   regex_t regex;
   int val;

   val = regcomp(&regex, "*", REG_EXTENDED);

   printf("retVal = %d\n", val);
   if (0 != val) {
     printf("Bad usage of ^, + or *\n");
   }

   val = regcomp(&regex, "*", REG_BASIC);

   printf("retVal = %d\n", val);
   if (0 != val) {
     printf("Bad usage of ^, + or *\n");
   }

}

Vijays-MacBook-Pro:/Users/vinag]$ gcc -g -O0 regex.c
Vijays-MacBook-Pro:/Users/vinag]$ ./a.out
retVal = 13 ------------->REG_BDRPT
Bad usage of ^, + or *
retVal = 0



More information about the Libc-help mailing list