-//
-// 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.*;
-
-/** Implements "(?= )" and "(?! )" */
-class lookAhead extends Or
-{
- boolean reverse;
-
- lookAhead(boolean b)
- {
- reverse = b;
- }
-
- public Pattern getNext()
- {
- return null;
- }
-
- public int nextMatch(int pos, Pthings pt)
- {
- Pattern p = super.getNext();
- if (p != null)
- {
- return p.matchInternal(pos, pt);
- }
- else
- {
- return pos;
- }
- }
-
- public int matchInternal(int pos, Pthings pt)
- {
- if (super.matchInternal(pos, pt) >= 0)
- {
- if (reverse)
- {
- return -1;
- }
- else
- {
- return nextMatch(pos, pt);
- }
- }
- else
- {
- if (reverse)
- {
- return nextMatch(pos, pt);
- }
- else
- {
- return -1;
- }
- }
- }
-
- String leftForm()
- {
- if (reverse)
- {
- return "(?!";
- }
- else
- {
- return "(?=";
- }
- }
-
- public patInt minChars()
- {
- return new patInt(0);
- }
-
- public patInt maxChars()
- {
- return new patInt(0);
- }
-
- Pattern clone1(Hashtable h)
- {
- lookAhead la = new lookAhead(reverse);
- h.put(this, la);
- h.put(la, la);
- for (int i = 0; i < v.size(); i++)
- {
- la.v.addElement(((Pattern) v.elementAt(i)).clone(h));
- }
- return la;
- }
-}
+//\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
+\r
+import java.util.*;\r
+\r
+/** Implements "(?= )" and "(?! )" */\r
+class lookAhead extends Or\r
+{\r
+ boolean reverse;\r
+\r
+ lookAhead(boolean b)\r
+ {\r
+ reverse = b;\r
+ }\r
+\r
+ public Pattern getNext()\r
+ {\r
+ return null;\r
+ }\r
+\r
+ public int nextMatch(int pos, Pthings pt)\r
+ {\r
+ Pattern p = super.getNext();\r
+ if (p != null)\r
+ {\r
+ return p.matchInternal(pos, pt);\r
+ }\r
+ else\r
+ {\r
+ return pos;\r
+ }\r
+ }\r
+\r
+ public int matchInternal(int pos, Pthings pt)\r
+ {\r
+ if (super.matchInternal(pos, pt) >= 0)\r
+ {\r
+ if (reverse)\r
+ {\r
+ return -1;\r
+ }\r
+ else\r
+ {\r
+ return nextMatch(pos, pt);\r
+ }\r
+ }\r
+ else\r
+ {\r
+ if (reverse)\r
+ {\r
+ return nextMatch(pos, pt);\r
+ }\r
+ else\r
+ {\r
+ return -1;\r
+ }\r
+ }\r
+ }\r
+\r
+ String leftForm()\r
+ {\r
+ if (reverse)\r
+ {\r
+ return "(?!";\r
+ }\r
+ else\r
+ {\r
+ return "(?=";\r
+ }\r
+ }\r
+\r
+ public patInt minChars()\r
+ {\r
+ return new patInt(0);\r
+ }\r
+\r
+ public patInt maxChars()\r
+ {\r
+ return new patInt(0);\r
+ }\r
+\r
+ Pattern clone1(Hashtable h)\r
+ {\r
+ lookAhead la = new lookAhead(reverse);\r
+ h.put(this, la);\r
+ h.put(la, la);\r
+ for (int i = 0; i < v.size(); i++)\r
+ {\r
+ la.v.addElement(((Pattern) v.elementAt(i)).clone(h));\r
+ }\r
+ return la;\r
+ }\r
+}\r