RegexTestHarness.java
, for exploring the regular expression
constructs supported by this API.
The command to run this code is java RegexTestHarness;
no command-line arguments are accepted.
The application loops repeatedly, prompting the user for a regular expression
and input string. Using this test harness is optional,
but you may find it convenient for exploring the test cases
discussed in the following pages.
import java.io.Console;
import java.util.regex.Pattern;
import java.util.regex.Matcher;
public class RegexTestHarness {
public static void main(String[] args){
Console console = System.console();
if (console == null) {
System.err.println("No console.");
System.exit(1);
}
while (true) {
Pattern pattern =
Pattern.compile(console.readLine("%nEnter your regex: "));
Matcher matcher =
pattern.matcher(console.readLine("Enter input string to search: "));
boolean found = false;
while (matcher.find()) {
console.format("I found the text \"%s\" starting at " +
"index %d and ending at index %d.%n",
matcher.group(), matcher.start(), matcher.end());
found = true;
}
if(!found){
console.format("No match found.%n");
}
}
}
}
Before continuing to the next section, save and compile this code to ensure that your development environment supports the required packages.