Glob { public boolean match(Ec4jPath filePath) { if (!isValid()) { return false; } final Matcher matcher = regex.matcher(matchLastSegmentOnly ? filePath.getLastSegment() : filePath.toString()); if (matcher.matches()) { for (int i = 0; i < matcher.groupCount(); i++) { final int[] range = ranges.get(i); final String numberString = matcher.group(i + 1); if (numberString == null || numberString.startsWith("0")) { return false; } int number = Integer.parseInt(numberString); if (number < range[0] || number > range[1]) { return false; } } return true; } return false; } Glob(String source); @Override boolean equals(Object obj); PatternSyntaxException getError(); String getSource(); @Override int hashCode(); boolean isEmpty(); boolean isValid(); boolean match(Ec4jPath filePath); @Override String toString();  }
@Test public void braces_alpha_range1() { Glob glob = new Glob("{aardvark..antelope}"); Assert.assertTrue(glob.match(Ec4jPaths.of("{aardvark..antelope}"))); }