class Rake::Application

def parse_task_string(string) # :nodoc:

:nodoc:
def parse_task_string(string) # :nodoc:
  /^([^\[]+)(?:\[(.*)\])$/ =~ string.to_s
  name           = $1
  remaining_args = $2
  return string, [] unless name
  return name,   [] if     remaining_args.empty?
  args = []
  begin
    /\s*((?:[^\\,]|\\.)*?)\s*(?:,\s*(.*))?$/ =~ remaining_args
    remaining_args = $2
    args << $1.gsub(/\\(.)/, '\1')
  end while remaining_args
  return name, args
end