public static boolean matches(String ptn, String src) {
		if (src.equals(ptn))
			return true;
		else if (ptn.charAt(0) == '#') {
			return Pattern.matches(ptn.substring(1), src);
		} else if (ptn.charAt(0) == '*' && ptn.charAt(ptn.length() - 1) == '*') {
			ptn = ptn.substring(1, ptn.length() - 1);
			return src.contains(ptn);
		} else if (ptn.charAt(0) == '*') {
			ptn = ptn.substring(1);
			return src.endsWith(ptn);
		} else if (ptn.charAt(ptn.length() - 1) == '*') {
			ptn = ptn.substring(0, ptn.length() - 1);
			return src.startsWith(ptn);
		} else if (ptn.indexOf('*') > 0) {
			String part = ptn.substring(0, ptn.indexOf('*'));
			if (src.startsWith(part)) {
				part = ptn.substring(ptn.indexOf('*') + 1);
				return src.endsWith(part);
			}
			return false;
		}
		return false;
	}