What are named groups? Basically they allow you to reference the results of the match option with the nice names you embedded in the regex object. Since Blogger hates anything with <>'s you can see an example here . Look near synopsis.
So how do you get this in 1.8.6?
Windows users have it easy, just install the win32 GEM, but OSX (and I assume other UNIX) require a bit of extra steps and it is sort of confusing because there are lots of versions of the Oniguruma C Library (do I really want to download stuff hosted on geocities Japan?) to choose from and there is a way to install it which requires recompiling your Ruby but that only works for 1.8.4 so I didn't bother.
So here is what I did to get it working on OSX (PPC) with 1.8.6
1. Download 4.6.2 of the C Library. Configure with whatever prefix you are using for Ruby (I use /my) and make install
2. Download version 1.10 of the GEM Source Tarball and do the standard ruby extconf.rb dance within ext. However
Change INFLAGS in the Makefile so it can find the oniguruma.h
Mine looks like this because ruby is installed in /my
INCFLAGS = -I. -I. -I/my/include -I/my/lib/ruby/1.8/powerpc-darwin8.9.0 -I.
If you don't do this you will get
gcc -I/my -I. -I. -I/my/lib/ruby/1.8/powerpc-darwin8.9.0 -I. -fno-common -Wall -c oregexp.c
oregexp.c:2:23: error: oniguruma.h: No such file or directory
oregexp.c:9: error: parse error before 'regex_t'
oregexp.c:9: warning: no semicolon at end of struct or union
oregexp.c:10: warning: type defaults to 'int' in declaration of 'ORegexp'
oregexp.c:10: warning: data definition has no type or storage class
oregexp.c:15: error: parse error before '*' token
oregexp.c: In function 'oregexp_free':
oregexp.c:16: warning: implicit declaration of function 'onig_free'
oregexp.c:16: error: 'oregexp' undeclared (first use in this function)
oregexp.c:16: error: (Each undeclared identifier is reported only once
oregexp.c:16: error: for each function it appears in.)
oregexp.c: In function 'oregexp_allocate':
oregexp.c:21: error: 'oregexp' undeclared (first use in this function)
oregexp.c: At top level:
oregexp.c:27: error: parse error before '*' token
oregexp.c:27: warning: return type defaults to 'int'
oregexp.c: In function 'int2encoding':
If you compile it successfully you'll see the library (oregexp.bundle, whatever that is) put in /my/lib/ruby/site_ruby/1.8/powerpc-darwin8.9.0 (or whatever you path is)
However require 'oniguruma.rb' will still fail until you do this:
cp oniguruma.rb /my/lib/ruby/site_ruby/1.8/
But it if you did get it installed you can run the test suite
franz-g4:/tmp root# ruby test_oniguruma.rb
Loaded suite test_oniguruma
Finished in 0.046221 seconds.
46 tests, 105 assertions, 0 failures, 0 errors
But of course the example from the README doesn't work (either on OSX or Windows) in typical Ruby fashion.
Simple, easy, and fun!