//
// This software is now distributed according to
// the Lesser Gnu Public License. Please see
// http://www.gnu.org/copyleft/lesser.txt for
// the details.
// -- Happy Computing!
//
package com.stevesoft.ewe_pat;
import ewe.util.Hashtable;
/** Implements the (?<number) Pattern, where number is
an integer telling us how far to back up in the Pattern.
Not in perl 5. */
class Skipped extends Pattern {
String s;
Skipped(String s) { this.s = s; }
public String toString() { return s+nextString(); }
public int matchInternal(int pos,Pthings pt) {
//if(pt.no_check || s.regionMatches(pt.ignoreCase,0,pt.src,pos,s.length()))
if(pt.no_check || CaseMgr.regionMatches(s,pt.ignoreCase,0,pt.src,pos,s.length()))
return nextMatch(pos+s.length(),pt);
return -1;
}
public patInt minChars() { return new patInt(s.length()); }
public patInt maxChars() { return new patInt(s.length()); }
Pattern clone1(Hashtable h) { return new Skipped(s); }
};