For those adventurous souls who are already using Oniguruma... With the following Oniguruma re: print "aabb".index(/.+?(?<!a)/) print "\n" My reasoning tells me I should be getting 3, but I'm getting 0. Basically, the .+ should force the re 'cursor' past at least the first a; after that, the negative lookback should force it past the first b. Could someone explain where I'm misunderstanding? Thanks, Ken