All Packages Class Hierarchy This Package Previous Next Index
Class com.oroinc.text.regex.Perl5Compiler
java.lang.Object
|
+----com.oroinc.text.regex.Perl5Compiler
- public final class Perl5Compiler
- extends Object
- implements PatternCompiler
The Perl5Compiler class is used to create compiled regular expressions
conforming to the Perl5 regular expression syntax. It generates
Perl5Pattern instances upon compilation to be used in conjunction
with a Perl5Matcher instance. Please see the user's guide for more
information about Perl5 regular expressions.
Copyright © 1997-1998 Original Resuable Objects, Inc.
All rights reserved.
- Author:
- Daniel F. Savarese
- See Also:
- PatternCompiler, MalformedPatternException, Perl5Pattern, Perl5Matcher
-
CASE_INSENSITIVE_MASK
- A mask passed as an option to the compile methods
to indicate a compiled regular expression should be case insensitive.
-
DEFAULT_MASK
- The default mask for the compile methods.
-
EXTENDED_MASK
- A mask passed as an option to the compile methods
to indicate a compiled regular expression should be treated as a Perl5
extended pattern (i.e., a pattern using the /x modifier).
-
MULTILINE_MASK
- A mask passed as an option to the compile methods
to indicate a compiled regular expression should treat input as having
multiple lines.
-
READ_ONLY_MASK
- A mask passed as an option to the compile methods
to indicate that the resulting Perl5Pattern should be treated as a
read only data structure by Perl5Matcher, making it safe to share
a single Perl5Pattern instance among multiple threads without needing
synchronization.
-
SINGLELINE_MASK
- A mask passed as an option to the compile methods
to indicate a compiled regular expression should treat input as being
a single line.
-
Perl5Compiler()
-
-
compile(char[])
- Same as calling compile(pattern, Perl5Compiler.DEFAULT_MASK);
-
compile(char[], int)
- Compiles a Perl5 regular expression into a Perl5Pattern instance that
can be used by a Perl5Matcher object to perform pattern matching.
-
compile(String)
- Same as calling compile(pattern, Perl5Compiler.DEFAULT_MASK);
-
compile(String, int)
- Compiles a Perl5 regular expression into a Perl5Pattern instance that
can be used by a Perl5Matcher object to perform pattern matching.
-
quotemeta(char[])
- Given a character string, returns a Perl5 expression that interprets
each character of the original string literally.
-
quotemeta(String)
- Given a character string, returns a Perl5 expression that interprets
each character of the original string literally.
DEFAULT_MASK
public static final int DEFAULT_MASK
- The default mask for the compile methods.
It is equal to 0.
The default behavior is for a regular expression to be case sensitive
and to not specify if it is multiline or singleline. When MULITLINE_MASK
and SINGLINE_MASK are not defined, the ^, $, and .
metacharacters are
interpreted according to the value of isMultiline() in Perl5Matcher.
The default behavior of Perl5Matcher is to treat the Perl5Pattern
as though MULTILINE_MASK were enabled. If isMultiline() returns false,
then the pattern is treated as though SINGLINE_MASK were set. However,
compiling a pattern with the MULTILINE_MASK or SINGLELINE_MASK masks
will ALWAYS override whatever behavior is specified by the setMultiline()
in Perl5Matcher.
CASE_INSENSITIVE_MASK
public static final int CASE_INSENSITIVE_MASK
- A mask passed as an option to the compile methods
to indicate a compiled regular expression should be case insensitive.
MULTILINE_MASK
public static final int MULTILINE_MASK
- A mask passed as an option to the compile methods
to indicate a compiled regular expression should treat input as having
multiple lines. This option affects the interpretation of
the ^ and $ metacharacters. When this mask is used,
the ^ metacharacter matches at the beginning of every line,
and the $ metacharacter matches at the end of every line.
Additionally the . metacharacter will not match newlines when
an expression is compiled with MULTILINE_MASK , which is its
default behavior.
The SINGLELINE_MASK and MULTILINE_MASK should not be
used together.
SINGLELINE_MASK
public static final int SINGLELINE_MASK
- A mask passed as an option to the compile methods
to indicate a compiled regular expression should treat input as being
a single line. This option affects the interpretation of
the ^ and $ metacharacters. When this mask is used,
the ^ metacharacter matches at the beginning of the input,
and the $ metacharacter matches at the end of the input.
The ^ and $ metacharacters will not match at the beginning
and end of lines occurring between the begnning and end of the input.
Additionally, the . metacharacter will match newlines when
an expression is compiled with SINGLELINE_MASK , unlike its
default behavior.
The SINGLELINE_MASK and MULTILINE_MASK should not be
used together.
EXTENDED_MASK
public static final int EXTENDED_MASK
- A mask passed as an option to the compile methods
to indicate a compiled regular expression should be treated as a Perl5
extended pattern (i.e., a pattern using the /x modifier). This
option tells the compiler to ignore whitespace that is not backslashed or
within a character class. It also tells the compiler to treat the
# character as a metacharacter introducing a comment as in
Perl. In other words, the # character will comment out any
text in the regular expression between it and the next newline.
The intent of this option is to allow you to divide your patterns
into more readable parts. It is provided to maintain compatibility
with Perl5 regular expressions, although it will not often
make sense to use it in Java.
READ_ONLY_MASK
public static final int READ_ONLY_MASK
- A mask passed as an option to the compile methods
to indicate that the resulting Perl5Pattern should be treated as a
read only data structure by Perl5Matcher, making it safe to share
a single Perl5Pattern instance among multiple threads without needing
synchronization. Without this option, Perl5Matcher reserves the right
to store heuristic or other information in Perl5Pattern that might
accelerate future matches. When you use this option, Perl5Matcher will
not store or modify any information in a Perl5Pattern. Use this option
when you want to share a Perl5Pattern instance among multiple threads
using different Perl5Matcher instances.
Perl5Compiler
public Perl5Compiler()
quotemeta
public static final String quotemeta(char expression[])
- Given a character string, returns a Perl5 expression that interprets
each character of the original string literally. In other words, all
special metacharacters are quoted/escaped. This method is useful for
converting user input meant for literal interpretation into a safe
regular expression representing the literal input.
In effect, this method is the analog of the Perl5 quotemeta() builtin
method.
- Parameters:
- expression - The expression to convert.
- Returns:
- A String containing a Perl5 regular expression corresponding to
a literal interpretation of the pattern.
quotemeta
public static final String quotemeta(String expression)
- Given a character string, returns a Perl5 expression that interprets
each character of the original string literally. In other words, all
special metacharacters are quoted/escaped. This method is useful for
converting user input meant for literal interpretation into a safe
regular expression representing the literal input.
In effect, this method is the analog of the Perl5 quotemeta() builtin
method.
- Parameters:
- pattern - The pattern to convert.
- Returns:
- A String containing a Perl5 regular expression corresponding to
a literal interpretation of the pattern.
compile
public Pattern compile(char pattern[],
int options) throws MalformedPatternException
- Compiles a Perl5 regular expression into a Perl5Pattern instance that
can be used by a Perl5Matcher object to perform pattern matching.
Please see the user's guide for more information about Perl5 regular
expressions.
- Parameters:
- pattern - A Perl5 regular expression to compile.
- options - A set of flags giving the compiler instructions on
how to treat the regular expression. The flags
are a logical OR of any number of the five MASK
constants. For example:
regex =
compiler.compile(pattern, Perl5Compiler.
CASE_INSENSITIVE_MASK |
Perl5Compiler.MULTILINE_MASK);
This says to compile the pattern so that it treats
input as consisting of multiple lines and to perform
matches in a case insensitive manner.
- Returns:
- A Pattern instance constituting the compiled regular expression.
This instance will always be a Perl5Pattern and can be reliably
casted to a Perl5Pattern.
- Throws: MalformedPatternException
- If the compiled expression
is not a valid Perl5 regular expression.
compile
public Pattern compile(char pattern[]) throws MalformedPatternException
- Same as calling compile(pattern, Perl5Compiler.DEFAULT_MASK);
- Parameters:
- pattern - A regular expression to compile.
- Returns:
- A Pattern instance constituting the compiled regular expression.
This instance will always be a Perl5Pattern and can be reliably
casted to a Perl5Pattern.
- Throws: MalformedPatternException
- If the compiled expression
is not a valid Perl5 regular expression.
compile
public Pattern compile(String pattern) throws MalformedPatternException
- Same as calling compile(pattern, Perl5Compiler.DEFAULT_MASK);
- Parameters:
- pattern - A regular expression to compile.
- Returns:
- A Pattern instance constituting the compiled regular expression.
This instance will always be a Perl5Pattern and can be reliably
casted to a Perl5Pattern.
- Throws: MalformedPatternException
- If the compiled expression
is not a valid Perl5 regular expression.
compile
public Pattern compile(String pattern,
int options) throws MalformedPatternException
- Compiles a Perl5 regular expression into a Perl5Pattern instance that
can be used by a Perl5Matcher object to perform pattern matching.
Please see the user's guide for more information about Perl5 regular
expressions.
- Parameters:
- pattern - A Perl5 regular expression to compile.
- options - A set of flags giving the compiler instructions on
how to treat the regular expression. The flags
are a logical OR of any number of the five MASK
constants. For example:
regex =
compiler.compile("^\\w+\\d+$",
Perl5Compiler.CASE_INSENSITIVE_MASK |
Perl5Compiler.MULTILINE_MASK);
This says to compile the pattern so that it treats
input as consisting of multiple lines and to perform
matches in a case insensitive manner.
- Returns:
- A Pattern instance constituting the compiled regular expression.
This instance will always be a Perl5Pattern and can be reliably
casted to a Perl5Pattern.
- Throws: MalformedPatternException
- If the compiled expression
is not a valid Perl5 regular expression.
All Packages Class Hierarchy This Package Previous Next Index