From: david.stosik+ruby@... Date: 2014-01-28T08:32:28+00:00 Subject: [ruby-core:60168] [ruby-trunk - Bug #9457] [Open] Regexp: when using subexpression calls, returned match groups seem wrong Issue #9457 has been reported by David Stosik. ---------------------------------------- Bug #9457: Regexp: when using subexpression calls, returned match groups seem wrong https://bugs.ruby-lang.org/issues/9457 * Author: David Stosik * Status: Open * Priority: Normal * Assignee: * Category: regexp * Target version: * ruby -v: ruby 2.0.0p247 (2013-06-27 revision 41674) [x86_64-darwin12.4.0] * Backport: 1.9.3: UNKNOWN, 2.0.0: UNKNOWN, 2.1: UNKNOWN ---------------------------------------- Hello, Here are a two examples: /(Tarzan|Jane) loves (\g<1>)/.match("Tarzan loves Jane").to_a #=> ["Tarzan loves Jane", "Jane", "Jane"] # Expected: ["Tarzan loves Jane", "Tarzan", "Jane"] (http://rubular.com/r/We2x4XNB2l) /(?(Tarzan|Jane)) loves (\g)/.match("Tarzan loves Jane").to_a #=> ["Tarzan loves Jane", "Jane"] # Expected: ["Tarzan loves Jane", "Tarzan", "Jane"] (http://rubular.com/r/1e3oevc1Yg) Unless I'm wrong on the results I'm expecting, I think this is a bug. Thanks for your help, David -- http://bugs.ruby-lang.org/