gnu.regexp
Class RESyntax
public final
class
RESyntax
extends Object
implements Serializable
An RESyntax specifies the way a regular expression will be compiled.
This class provides a number of predefined useful constants for
emulating popular regular expression syntaxes. Additionally the
user may construct his or her own syntax, using any combination of the
syntax bit constants. The syntax is an optional argument to any of the
matching methods on class RE.
Author: Wes Biggs
Method Summary |
RESyntax | clear(int index)
Clear a given bit in this syntax.
|
boolean | get(int index)
Check if a given bit is set in this syntax. |
String | getLineSeparator()
Returns the currently active line separator string. |
RESyntax | makeFinal()
Called internally when constructing predefined syntaxes
so their interpretation cannot vary. |
RESyntax | set(int index)
Set a given bit in this syntax.
|
RESyntax | setLineSeparator(String aSeparator)
Changes the line separator string for regular expressions
created using this RESyntax. |
static final String DEFAULT_LINE_SEPARATOR
public static final int RE_BACKSLASH_ESCAPE_IN_LISTS
Syntax bit. Backslash is an escape character in lists.
public static final int RE_BK_PLUS_QM
Syntax bit. Use \? instead of ? and \+ instead of +.
public static final int RE_CHAR_CLASSES
Syntax bit. POSIX character classes ([:...:]) in lists are allowed.
public static final int RE_CHAR_CLASS_ESCAPES
Syntax bit. Allow character class escapes (\d, \D, \s, \S, \w, \W).
public static final int RE_CHAR_CLASS_ESC_IN_LISTS
Syntax bit. Allow character class escapes within lists, as in Perl5.
public static final int RE_COMMENTS
Syntax bit. Allow embedded comments, (?#comment), as in Perl5.
public static final int RE_CONTEXT_INDEP_ANCHORS
Syntax bit. ^ and $ are special everywhere.
Not implemented.
public static final int RE_CONTEXT_INDEP_OPS
Syntax bit. Repetition operators are only special in valid positions.
Not implemented.
public static final int RE_CONTEXT_INVALID_OPS
Syntax bit. Repetition and alternation operators are invalid
at start and end of pattern and other places.
Not implemented.
public static final int RE_DOT_NEWLINE
Syntax bit. Match-any-character operator (.) matches a newline.
public static final int RE_DOT_NOT_NULL
Syntax bit. Match-any-character operator (.) does not match a null.
public static final int RE_HAT_LISTS_NOT_NEWLINE
Syntax bit. Not implemented.
public static final int RE_INTERVALS
Syntax bit. Intervals ({x}, {x,}, {x,y}) are allowed.
public static final int RE_LIMITED_OPS
Syntax bit. No alternation (|), match one-or-more (+), or
match zero-or-one (?) operators.
public static final int RE_LOOKAHEAD
Syntax bit. Allow use of (?=xxx) and (?!xxx) apply the subexpression
to the text following the current position without consuming that text.
public static final int RE_NEWLINE_ALT
Syntax bit. Newline is an alternation operator.
public static final int RE_NO_BK_BRACES
Syntax bit. Intervals use { } instead of \{ \}
public static final int RE_NO_BK_PARENS
Syntax bit. Grouping uses ( ) instead of \( \).
public static final int RE_NO_BK_REFS
Syntax bit. Backreferences not allowed.
public static final int RE_NO_BK_VBAR
Syntax bit. Alternation uses | instead of \|
public static final int RE_NO_EMPTY_RANGES
Syntax bit. Not implemented.
public static final int RE_PURE_GROUPING
Syntax bit. Allow use of (?:xxx) grouping (subexpression is not saved).
public static final int RE_STINGY_OPS
Syntax bit. Stingy matching is allowed (+?, *?, ??, {x,y}?).
public static final int RE_STRING_ANCHORS
Syntax bit. Allow beginning- and end-of-string anchors (\A, \Z).
public static final
RESyntax RE_SYNTAX_AWK
Predefined syntax.
Emulates regular expression support in the awk utility.
public static final
RESyntax RE_SYNTAX_ED
Predefined syntax.
Emulates regular expression support in the ed utility.
public static final
RESyntax RE_SYNTAX_EGREP
Predefined syntax.
Emulates regular expression support in the egrep utility.
public static final
RESyntax RE_SYNTAX_EMACS
Predefined syntax.
Emulates regular expression support in the GNU Emacs editor.
public static final
RESyntax RE_SYNTAX_GREP
Predefined syntax.
Emulates regular expression support in the grep utility.
public static final
RESyntax RE_SYNTAX_PERL4
Predefined syntax.
Emulates regular expression support in Larry Wall's perl, version 4,
public static final
RESyntax RE_SYNTAX_PERL4_S
Predefined syntax.
Emulates regular expression support in Larry Wall's perl, version 4,
using single line mode (/s modifier).
public static final
RESyntax RE_SYNTAX_PERL5
Predefined syntax.
Emulates regular expression support in Larry Wall's perl, version 5.
public static final
RESyntax RE_SYNTAX_PERL5_S
Predefined syntax.
Emulates regular expression support in Larry Wall's perl, version 5,
using single line mode (/s modifier).
public static final
RESyntax RE_SYNTAX_POSIX_AWK
Predefined syntax.
Emulates regular expression support in the POSIX awk specification.
public static final
RESyntax RE_SYNTAX_POSIX_BASIC
Predefined syntax.
Emulates POSIX basic regular expression support.
public static final
RESyntax RE_SYNTAX_POSIX_EGREP
Predefined syntax.
Emulates regular expression support in the POSIX egrep specification.
public static final
RESyntax RE_SYNTAX_POSIX_EXTENDED
Predefined syntax.
Emulates POSIX extended regular expression support.
public static final
RESyntax RE_SYNTAX_POSIX_MINIMAL_BASIC
Predefined syntax.
Emulates POSIX basic minimal regular expressions.
public static final
RESyntax RE_SYNTAX_POSIX_MINIMAL_EXTENDED
Predefined syntax.
Emulates POSIX extended minimal regular expressions.
public static final
RESyntax RE_SYNTAX_SED
Predefined syntax.
Emulates regular expression support in the sed utility.
public static final int RE_UNMATCHED_RIGHT_PAREN_ORD
Syntax bit. An unmatched right parenthesis (')' or '\)', depending
on RE_NO_BK_PARENS) will throw an exception when compiling.
public RESyntax()
Construct a new syntax object with all bits turned off.
This is equivalent to RE_SYNTAX_EMACS.
Construct a new syntax object with all bits set the same
as the other syntax.
Clear a given bit in this syntax.
Parameters: index the constant (RESyntax.RE_xxx) bit to clear.
Returns: a reference to this object for easy chaining.
public boolean get(int index)
Check if a given bit is set in this syntax.
public String getLineSeparator()
Returns the currently active line separator string. The default
is the platform-dependent system property "line.separator".
Called internally when constructing predefined syntaxes
so their interpretation cannot vary. Conceivably useful
for your syntaxes as well. Causes IllegalAccessError to
be thrown if any attempt to modify the syntax is made.
Returns: this object for convenient chaining
Set a given bit in this syntax.
Parameters: index the constant (RESyntax.RE_xxx) bit to set.
Returns: a reference to this object for easy chaining.
public
RESyntax setLineSeparator(String aSeparator)
Changes the line separator string for regular expressions
created using this RESyntax. The default separator is the
value returned by the system property "line.separator", which
should be correct when reading platform-specific files from a
filesystem. However, many programs may collect input from
sources where the line separator is differently specified (for
example, in the applet environment, the text box widget
interprets line breaks as single-character newlines,
regardless of the host platform.
Note that setting the line separator to a character or
characters that have specific meaning within the current syntax
can cause unexpected chronosynclastic infundibula.
Returns: this object for convenient chaining