Documentation

The Java™ Tutorials
Hide TOC
Test Harness测试线束
Trail: Essential Java Classes
Lesson: Regular Expressions

Test Harness测试线束

This section defines a reusable test harness, RegexTestHarness.java , for exploring the regular expression constructs supported by this API. 本节定义了一个可重用的测试工具RegexTestHarness.java,用于探索此API支持的正则表达式构造。The command to run this code is java RegexTestHarness; no command-line arguments are accepted. 运行此代码的命令是java RegexTestHarness;不接受任何命令行参数。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 page: Introduction
Next page: String Literals