Java 教程是为 JDK 8 编写的。本页中描述的示例和实践未利用在后续版本中引入的改进。
本节定义了一个可重用的测试工具 RegexTestHarness.java
,用于探索此 API 支持的正则表达式构造。运行此代码的命令是 java RegexTestHarness
;不需要命令行参数。应用程序重复循环,提示用户输入正则表达式和输入字符串。使用此测试工具是可选的,但你可能会发现浏览以下页面中讨论的测试用例很方便。
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"); } } } }
在继续下一节之前,请保存并编译此代码,以确保你的开发环境支持所需的包。