module Regexp::Syntax

def self.new(name)

instance of Syntax::Any. See below for more details.
the given syntax flavor name. The special names 'any' and '*' returns a
Loads, and instantiates an instance of the syntax specification class for
def self.new(name)
  return Regexp::Syntax::Any.new if
    ['*', 'any'].include?( name.to_s )
  self.load(name)
  case name
    when 'ruby/1.8.6';  syntax = Regexp::Syntax::Ruby::V186.new
    when 'ruby/1.8.7';  syntax = Regexp::Syntax::Ruby::V187.new
    # alias for the latest 1.8 implementation
    when 'ruby/1.8';    syntax = Regexp::Syntax::Ruby::V18.new
    when 'ruby/1.9.1';  syntax = Regexp::Syntax::Ruby::V191.new
    when 'ruby/1.9.2';  syntax = Regexp::Syntax::Ruby::V192.new
    when 'ruby/1.9.3';  syntax = Regexp::Syntax::Ruby::V193.new
    # alias for the latest 1.9 implementation
    when 'ruby/1.9';    syntax = Regexp::Syntax::Ruby::V19.new
    else
      raise UnknownSyntaxError.new(name)
  end
end