Documentation
The Java™ Tutorials
Download Ebooks
Download JDK
Search Java Tutorials
Hide TOC
Regular Expressions
Introduction
Test Harness
String Literals
Character Classes
Predefined Character Classes
Quantifiers
Capturing Groups
Boundary Matchers
Methods of the Pattern Class
Methods of the Matcher Class
Methods of the PatternSyntaxException Class
Unicode Support
Additional Resources
Questions and Exercises
Trail: Essential Classes
Lesson: Regular Expressions
« Previous • Trail • Next »

# Test Harness

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

« Previous • Trail • Next »

Previous page: Introduction
Next page: String Literals