// URL that generated this code:
// http://txt2re.com/index-cpcre.php3?s=42%2043&2&3&9999
#include <stdio.h>
#include <string.h>
#include <pcre.h>
int main(int argc, char **argv)
{
const char *error;
int erroffset;
int ovector[186];
char re[8192]="";
char txt[]="42 43";
char re1[]=""; // 1
strcat(re,re1);
char re2[]=".*?"; // Non-greedy match on filler
strcat(re,re2);
char re3[]="(?:(?:[0-2]?\\d{1})|(?:[3][01]{1}))(?![\\d])"; // Uninteresting: day
strcat(re,re3);
char re4[]="((?:(?:[0-2]?\\d{1})|(?:[3][01]{1})))(?![\\d])"; // Day 1
strcat(re,re4);
char re5[]=".*?"; // Non-greedy match on filler
strcat(re,re5);
char re6[]="(\\d+)"; // Integer Number 1
strcat(re,re6);
pcre *r = pcre_compile(re, PCRE_CASELESS|PCRE_DOTALL, &error, &erroffset, NULL);
int rc = pcre_exec(r, NULL, txt, strlen(txt), 0, 0, ovector, 186);
if (rc>0)
{
char 1[1024];
pcre_copy_substring(txt, ovector, rc,1,1, 1024);
printf("(%s)",1);
char day1[1024];
pcre_copy_substring(txt, ovector, rc,2,day1, 1024);
printf("(%s)",day1);
char int1[1024];
pcre_copy_substring(txt, ovector, rc,3,int1, 1024);
printf("(%s)",int1);
puts("\n");
}
}
//-----
// C does not provide a regular expression feature as standard.
//
// To run this code you will need to first download and install
// the PCRE library from http://www.pcre.org/
//
// Note that on Linux systems PCRE is often already installed in /usr/lib/libpcre* or /usr/local/lib/libpcre*.
//
// Compile and on Unix using:
// # gcc -lpcre x.c
// # ./a.out
//
 
Feedback
Gcankov::
Thank you, kind sir. This is awesome!
Thu, 9 May 2013 11:07AM
bradland::
Love this too sooooo much! Would love an output option that outputs a suitable `grep- E` regex :)
Thu, 9 May 2013 07:50PM
MikeN::
Thanks a lot for putting this out!
Thu, 9 May 2013 08:23PM
µç»°::
Fri, 10 May 2013 04:23AM
takobaba::
thank you, awesome work, awk pls :)
Fri, 10 May 2013 03:56PM
::
Fri, 10 May 2013 04:46PM
::
Fri, 10 May 2013 04:46PM
::
Yes.
Sat, 11 May 2013 09:18PM
exezaid::
bitch please
Sun, 12 May 2013 05:22PM
ron::
mark, this is awesome!
Sun, 12 May 2013 08:57PM
::
Bitch please, you must have a mental disease
Mon, 13 May 2013 12:25AM
::
lving it!
Mon, 13 May 2013 07:56AM
IpSeRc::
Simple, Concise, Usefull, PERFECT. Good App.
Mon, 13 May 2013 10:04AM
::
Round braces detection is not perfect. It skips the ones in middle if there are 2 braces groups. eg: (ab) (ab), it will detect "ab) (ab" in a round braces. At leas in my case.
Mon, 13 May 2013 11:20AM
canners.nl::
Dude: thank you so Much!! Regular Expressions can be such a headache!
Mon, 13 May 2013 12:44PM
::
Mon, 13 May 2013 02:28PM
::
Best of the best
Tue, 14 May 2013 06:14AM
Anup::
The best I ever use
Tue, 14 May 2013 06:26AM
Ruben::
Great stuff!!
Tue, 14 May 2013 02:49PM
::
Tue, 14 May 2013 04:39PM
::
Tue, 14 May 2013 07:32PM
::
Nice! Where's the "donate" link!
Tue, 14 May 2013 07:33PM
h::
h
Wed, 15 May 2013 02:56PM
::
Wed, 15 May 2013 05:02PM
slevin::
Mind blowing. Missing Objective-c, though!
Wed, 15 May 2013 06:35PM
Zayed::
THANKS A LOT!!!!!!!
Thu, 16 May 2013 05:35PM
::
Thu, 16 May 2013 06:36PM
::
awesome tool!!! thanks from brazil
Thu, 16 May 2013 06:38PM
::
good
Fri, 17 May 2013 08:25AM
Ad::
Just want I needed.. 2 Thrubms up
Fri, 17 May 2013 12:55PM
NEO::
Awesome, wish I found this years ago!
Fri, 17 May 2013 06:36PM
::
nonsense
Sun, 19 May 2013 05:44PM
kichwa_kibov::
lifesaver
Mon, 20 May 2013 02:53PM
I just...::
jizzed myself. This rocks!
Tue, 21 May 2013 03:59AM
fastnfurious::
thank you!
Tue, 21 May 2013 04:45AM
@JohnSReid::
Absolutely incredible
Tue, 21 May 2013 04:53PM
Menzo::
Thanks
Wed, 22 May 2013 12:32PM
::
excellent![/mrburns] too bad that there's no brainfuck-support though