2 // This software is now distributed according to
\r
3 // the Lesser Gnu Public License. Please see
\r
4 // http://www.gnu.org/copyleft/lesser.txt for
\r
6 // -- Happy Computing!
\r
8 package com.stevesoft.pat;
\r
13 * The Bracket is a form of the Or class, implements the pattern element [ ].
\r
15 class Bracket extends Or
\r
46 public int matchInternal(int pos, Pthings pt)
\r
48 if (pos >= pt.src.length())
\r
52 int r = super.matchInternal(pos, pt);
\r
53 if ((neg && r < 0) || (!neg && r >= 0))
\r
55 return nextMatch(pos + 1, pt);
\r
60 public patInt minChars()
\r
62 return new patInt(1);
\r
65 public patInt maxChars()
\r
67 return new patInt(1);
\r
70 public Or addOr(Pattern p)
\r
78 public Pattern clone1(Hashtable h)
\r
80 Bracket b = new Bracket(neg);
\r
82 for (int i = 0; i < v.size(); i++)
\r
84 b.v.addElement(((Pattern) v.elementAt(i)).clone1(h));
\r