--- /dev/null
+//\r
+// This software is now distributed according to\r
+// the Lesser Gnu Public License. Please see\r
+// http://www.gnu.org/copyleft/lesser.txt for\r
+// the details.\r
+// -- Happy Computing!\r
+//\r
+package com.stevesoft.pat;\r
+import java.util.Hashtable;\r
+\r
+/** The '^' or the '\A' Pattern, matches the start of a string. */\r
+class Start extends Pattern {\r
+ boolean retIsStart;\r
+ Start(boolean b) { retIsStart = b; }\r
+ public int matchInternal(int pos,Pthings pt) {\r
+ if(retIsStart\r
+ && pt.mFlag\r
+ && pos > 0 && pt.src.charAt(pos-1)=='\n')\r
+ return nextMatch(pos,pt);\r
+ if(pos == 0) return nextMatch(pos,pt);\r
+ return -1;\r
+ }\r
+ public String toString() {\r
+ if(retIsStart)\r
+ return "^"+nextString();\r
+ else\r
+ return "\\A"+nextString();\r
+ }\r
+ public patInt maxChars() { return new patInt(0); }\r
+ Pattern clone1(Hashtable h) { return new Start(retIsStart); }\r
+};\r