Checks if the given pattern matches any substring starting at the current position. If it does, it will advance the current {#position} to the end of the substring and merges any params parsed from the substring into {#params}. @param (see Mustermann.new) @return [Mustermann::StringScanner::ScanResult, nil] the matched substring, nil if it didn't match