java.util.regex
package? Describe the purpose of each.
Answer:
Pattern
instances are compiled representations
of regular expressions.
Matcher
instances are engines that interpret
patterns and perform match operations against input strings.
PatternSyntaxException
defines an unchecked
exception indicating a syntax error in a regular expression.
"foo"
. What is the
start index? What is the end index? Explain what these numbers
mean.
Answer:
Each character in the string resides in its own cell. Index
positions point between cells. The string "foo"
starts at index 0 and ends at index 3, even though the characters
only occupy cells 0, 1, and 2.
Answer:
An ordinary character in a regular expression matches itself. A
metacharacter is a special character that affects the way a
pattern is matched. The letter A
is an ordinary
character. The punctuation mark .
is a metacharacter
that matches any single character.
Answer: There are two ways:
\
);
\Q
(at the beginning) and \E
(at
the end).
Answer: This is a character class. It matches any single character that is in the class of characters specified by the expression between the brackets.
\d
,
\s
, and \w
. Describe each one, and
rewrite it using square brackets.
Answer:
\d |
Matches any digit. | [0-9] |
\s |
Matches any white space character. | [ \t\n-x0B\f\r] |
\w |
Matches any word character. | [a-zA-Z_0-9] |
\d
, \s
, and
\w
, write two simple expressions that match
the opposite set of characters.
Answer:
\d |
\D |
[^\d] |
\s |
\S |
[^\s] |
\w |
\W |
[^\w] |
(dog){3}
. Identify
the two subexpressions. What string does the expression match?
Answer:
The expression consists of a capturing group, (dog)
,
followed by a greedy quantifier {3}
. It matches the
string "dogdogdog".
Solution:
([A-Z][a-zA-Z]*)\s\1