// // 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.pat; import java.util.*; /** The '^' or the '\A' Pattern, matches the start of a string. */ class Start extends Pattern { boolean retIsStart; Start(boolean b) { retIsStart = b; } public int matchInternal(int pos, Pthings pt) { if (retIsStart && pt.mFlag && pos > 0 && pt.src.charAt(pos - 1) == '\n') { return nextMatch(pos, pt); } if (pos == 0) { return nextMatch(pos, pt); } return -1; } public String toString() { if (retIsStart) { return "^" + nextString(); } else { return "\\A" + nextString(); } } public patInt maxChars() { return new patInt(0); } Pattern clone1(Hashtable h) { return new Start(retIsStart); } };