Test Harness

This section defines a reusable test harness, , 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.