public static String getString(String expression) {
        String result = "";

        for (int i = 0; i < expression.length(); i++) {
            if (expression.charAt(i) == '#') {
                result += getRandomString(true, false, false, 1);
            } else if (expression.charAt(i) == '*') {
                result += getRandomString(true, true, true, 1);
            } else if (expression.charAt(i) == '>') {
                result += getRandomString(false, false, true, 1);
            } else if (expression.charAt(i) == '<') {
                result += getRandomString(false, true, false, 1);
            } else if (expression.charAt(i) == '$') {
                result += getRandomString(false, true, true, 1);
            } else if (expression.charAt(i) == ']') {
                result += getRandomString(true, true, false, 1);
            } else if (expression.charAt(i) == '[') {
                result += getRandomString(true, false, true, 1);
            }
        }

        return result;
    }