in sdk/src/main/java/com/google/cloud/dataflow/sdk/util/GcsUtil.java [343:377]
static String globToRegexp(String globExp) {
StringBuilder dst = new StringBuilder();
char[] src = globExp.toCharArray();
int i = 0;
while (i < src.length) {
char c = src[i++];
switch (c) {
case '*':
dst.append("[^/]*");
break;
case '?':
dst.append("[^/]");
break;
case '.':
case '+':
case '{':
case '}':
case '(':
case ')':
case '|':
case '^':
case '$':
// These need to be escaped in regular expressions
dst.append('\\').append(c);
break;
case '\\':
i = doubleSlashes(dst, src, i);
break;
default:
dst.append(c);
break;
}
}
return dst.toString();
}