def parse(target)
      #Handle the width option if specified.
      if (width = fmt.width) > 0
        head, tail = src[0...width], src[width..-1] || ""
      else
        head, tail = src, ""
      end

      #Do the parse on the input string or regex.
      @prematch, @match, @postmatch = head.partition(target)

      #Analyze the results.
      if found?
        @src = @postmatch + tail
        @match
      else
        nil
      end
    end
def parse(target)
      #Handle the width option if specified.
      if (width = fmt.width) > 0
        head, tail = src[0...width], src[width..-1] || ""
      else
        head, tail = src, ""
      end

      #Do the parse on the input string or regex.
      @prematch, @match, @postmatch = head.partition(target)

      #Analyze the results.
      if found?
        @src = @postmatch + tail
        @match
      else
        nil
      end
    end
Parse the source string for a target string or regex or return nil.