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 ?
'!' : '=');