private boolean validateShortTime(String timeString)
    {
        // Add space to the end to ensure proper matching
        timeString = timeString.toLowerCase() + " ";

        // Assert format
        if (!timeString.matches("(\\d+h )?(\\d+m )?(\\d+s )?(\\d+ms )?"))
        {
            return false;
        }

        // Validate times
        String[] time = timeString.split(" ");
        for (int i = 0; i < time.length; ++i)
        {
            // The added space
            if (time[i].length() == 0)
                continue;

            if (!validateValue(time[i]))
            {
                return false;
            }
        }

        return true;
    }