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
12 /** The Bracket is a form of the Or class,
\r
13 implements the pattern element [ ]. */
\r
45 public int matchInternal(int pos, Pthings pt)
\r
47 if (pos >= pt.src.length())
\r
51 int r = super.matchInternal(pos, pt);
\r
52 if ( (neg && r < 0) || (!neg && r >= 0))
\r
54 return nextMatch(pos + 1, pt);
\r
59 public patInt minChars()
\r
61 return new patInt(1);
\r
64 public patInt maxChars()
\r
66 return new patInt(1);
\r
69 public Or addOr(Pattern p)
\r
77 public Pattern clone1(Hashtable h)
\r
79 Bracket b = new Bracket(neg);
\r
81 for (int i = 0; i < v.size(); i++)
\r
83 b.v.addElement( ( (Pattern) v.elementAt(i)).clone1(h));
\r