1 19 20 package gnu.regexp; 21 22 final class RETokenRange extends REToken { 23 private char lo, hi; 24 private boolean insens; 25 26 RETokenRange(int subIndex, char lo, char hi, boolean ins) { 27 super(subIndex); 28 this.lo = (insens = ins) ? Character.toLowerCase(lo) : lo; 29 this.hi = ins ? Character.toLowerCase(hi) : hi; 30 } 31 32 int getMinimumLength() { 33 return 1; 34 } 35 36 boolean match(CharIndexed input, REMatch mymatch) { 37 char c = input.charAt(mymatch.index); 38 if (c == CharIndexed.OUT_OF_BOUNDS) return false; 39 if (insens) c = Character.toLowerCase(c); 40 if ((c >= lo) && (c <= hi)) { 41 ++mymatch.index; 42 return next(input, mymatch); 43 } 44 return false; 45 } 46 47 void dump(StringBuffer os) { 48 os.append(lo).append('-').append(hi); 49 } 50 } 51 52 | Popular Tags |