-//\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
+//
+// 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.Hashtable;
+
+/** 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);
+ }
+};