mirror of
				https://sourceware.org/git/glibc.git
				synced 2025-10-31 22:10:34 +03:00 
			
		
		
		
	
		
			
				
	
	
		
			52 lines
		
	
	
		
			1007 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			52 lines
		
	
	
		
			1007 B
		
	
	
	
		
			C
		
	
	
	
	
	
| #include <error.h>
 | |
| #include <sys/types.h>
 | |
| #include <regex.h>
 | |
| #include <stdio.h>
 | |
| #include <stdlib.h>
 | |
| 
 | |
| int
 | |
| main (void)
 | |
| {
 | |
|   regex_t re;
 | |
|   regmatch_t ma[2];
 | |
|   int reerr;
 | |
|   int res = 0;
 | |
| 
 | |
|   re_set_syntax (RE_DEBUG);
 | |
|   reerr = regcomp (&re, "0*[0-9][0-9]", 0);
 | |
|   if (reerr != 0)
 | |
|     {
 | |
|       char buf[100];
 | |
|       regerror (reerr, &re, buf, sizeof buf);
 | |
|       error (EXIT_FAILURE, 0, "%s", buf);
 | |
|     }
 | |
| 
 | |
|   if (regexec (&re, "002", 2, ma, 0) != 0)
 | |
|     {
 | |
|       error (0, 0, "\"0*[0-9][0-9]\" does not match \"002\"");
 | |
|       res = 1;
 | |
|     }
 | |
|   puts ("Succesful match with \"0*[0-9][0-9]\"");
 | |
| 
 | |
|   regfree (&re);
 | |
| 
 | |
|   reerr = regcomp (&re, "[0a]*[0-9][0-9]", 0);
 | |
|   if (reerr != 0)
 | |
|     {
 | |
|       char buf[100];
 | |
|       regerror (reerr, &re, buf, sizeof buf);
 | |
|       error (EXIT_FAILURE, 0, "%s", buf);
 | |
|     }
 | |
| 
 | |
|   if (regexec (&re, "002", 2, ma, 0) != 0)
 | |
|     {
 | |
|       error (0, 0, "\"[0a]*[0-9][0-9]\" does not match \"002\"");
 | |
|       res = 1;
 | |
|     }
 | |
|   puts ("Succesful match with \"[0a]*[0-9][0-9]\"");
 | |
| 
 | |
|   regfree (&re);
 | |
| 
 | |
|   return res;
 | |
| }
 |