2 * gnu/regexp/RETokenOneOf.java
3 * Copyright (C) 1998-2001 Wes Biggs
5 * This library is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU Lesser General Public License as published
7 * by the Free Software Foundation; either version 2.1 of the License, or
8 * (at your option) any later version.
10 * This library is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU Lesser General Public License for more details.
15 * You should have received a copy of the GNU Lesser General Public License
16 * along with this program; if not, write to the Free Software
17 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
22 * @since gnu.regexp 1.1.3
23 * @author Shashank Bapat
25 final class RETokenLookAhead extends REToken
30 RETokenLookAhead(REToken re, boolean negative) throws REException {
33 this.negative = negative;
36 boolean match(CharIndexed input, REMatch mymatch)
38 REMatch trymatch = (REMatch)mymatch.clone();
39 REMatch trymatch1 = (REMatch)mymatch.clone();
40 REMatch newMatch = null;
41 if (re.match(input, trymatch)) {
42 if (negative) return false;
43 if (next(input, trymatch1))
47 if (newMatch != null) {
48 if (negative) return false;
50 mymatch.assignFrom(newMatch);
55 return next(input, mymatch);
61 void dump(StringBuffer os) {
63 os.append(negative ? '!' : '=');