* と ? のみを使用する単純なグロブの場合 特殊文字として、まったく新しいライブラリを取り込まなくても、それらを正規表現パターンに簡単に変換できるはずです。次のコードはテストされていませんが、SQL の "like" 式を正規表現に変換するために非常によく似たものを使用しました。
public static boolean globMatches(String glob, String target) {
Pattern p = Pattern.compile("(\\*+)|(\\?)|([^*?]+)");
Matcher m = p.matcher(glob);
StringBuilder sb = new StringBuilder();
while (m.find()) {
String star = m.group(1);
String question = m.group(2);
String text = m.group(3);
if (star != null) {
sb.append(".*");
}
else if (question != null) {
sb.append(".");
}
else {
sb.append(Pattern.quote(text));
}
}
return target.matches(sb.toString());
}