Oniguruma - named capture example
Posted Mon, 07 Jan 2008
For whatever reason, I decided to play with oniguruma tonight (a newish regular
expression library). I'm considering an effort to port some of grok's
functionality to C or C++ for speed reasons. Doing it in C++ would require me
to re-learn C++.
The docs are pretty complete, but not very helpful with respect to examples. I wasn't able to find very many useful examples on google, but the API docs are quite good. What wasn't answered by the docs was answered by reading header files. Excellent.
The result of this adventure is this:
# regex: ^(?<test>.*?)( (?<word2>.*))?$ # input: "hello there" % gcc -I/usr/local/include -L/usr/local/lib -lonig oniguruma_named_captures.c % ./a.out "hello there" word2 = there test = hello % ./a.out "foobarbazfizz" word2 = test = foobarbazfizz