# File rexml/xpath_parser.rb, line 584 def replace_groups( path, groups=nil ) return nil unless path if groups groups.each_index do |index| path[/\(#{index}\)/] = groups[index] end path else count = 0 left = "" args = [] while path =~ /(.*?)(?=\(|\[)/ left = left + $1 + "(#{count})" right = $' count += 1 path, arg = get_group( right ) args << arg end left += path if path and path.length > 0 [left, args] end end