【发布时间】:2011-12-20 22:14:00
【问题描述】:
我知道我可以自己写一个,但我希望我可以重复使用现有的。
Ant 样式的 glob 与普通文件 glob 几乎相同,只是 '**' 匹配子目录。
FWIW,我的实现是:
public class AntGlobConverter {
public static String convert(String globExpression) {
StringBuilder result = new StringBuilder();
for (int i = 0; i != globExpression.length(); ++i) {
final char c = globExpression.charAt(i);
if (c == '?') {
result.append('.');
} else if (c == '*') {
if (i + 1 != globExpression.length() && globExpression.charAt(i + 1) == '*') {
result.append(".*");
++i;
} else {
result.append("[^/]*");
}
} else {
result.append(c);
}
}
return result.toString();
}
}
【问题讨论】: