Issue #9457 has been updated by David Stosik.


"Subexpression call":http://www.ruby-doc.org/core-2.0/Regexp.html#class-Regexp-label-Subexpression+Calls

----------------------------------------
Bug #9457: Regexp: when using subexpression calls, returned match groups seem wrong
https://bugs.ruby-lang.org/issues/9457#change-44654

* 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)

    /(?<name>(Tarzan|Jane)) loves (\g<name>)/.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/