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 /** This class matches a single character. */
\r
13 class oneChar extends Pattern
\r
15 char c, altc, altc2;
\r
19 public oneChar(char ci)
\r
23 cu = CaseMgr.toUpperCase(c);
\r
24 cl = CaseMgr.toLowerCase(c);
\r
25 ct = CaseMgr.toTitleCase(c);
\r
41 mask = c & altc & altc2;
\r
44 public int matchInternal(int pos, Pthings pt)
\r
48 if (pos < pt.src.length()
\r
50 && ((p = pt.src.charAt(pos)) == c || (pt.ignoreCase && (p == altc || p == altc2))))
\r
52 ret = nextMatch(pos + 1, pt);
\r
57 public String toString()
\r
59 return protect("" + c, PROTECT_THESE, ESC) + nextString();
\r
62 public patInt minChars()
\r
64 return new patInt(1);
\r
67 public patInt maxChars()
\r
69 return new patInt(1);
\r
72 Pattern clone1(Hashtable h)
\r
74 return new oneChar(c);
\r