private Symbol guessSymbol() {
        int buffLen = buff.length();
        boolean onlyDigits = hasOnly(DIGITS);

        switch (buffLen) {
            case 1:
                if (onlyDigits) {
                    return Symbol.HOUR_12;
                }
                break;
            case 2: {
                if (onlyDigits) {
                    if (HOUR_12.matcher(buff).matches()) {
                        return Symbol.HOUR_12;
                    }
                }
                break;
            }
        }

        if (onlyDigits) {
            return Symbol.DIGITS;
        }

        if (hasOnly(DIGITS, PUNCTUATION) && FRACTION.matcher(buff).matches()) {
            return Symbol.FRACTION;
        } else if (hasOnly(LETTERS) || hasOnly(LETTERS, PUNCTUATION)) {
            return Symbol.STRING;
        }

        throw new IllegalStateException("Cannot guest type of " + buff.toString());
    }
Gets the original string being parsed.

@return The original string.
exts/jphp-zend-ext/src/main/java/org/develnext/jphp/zend/ext/standard/date/DateTimeTokenizer.java