此Java教程适用于JDK 8。本页中描述的示例和实践不利用后续版本中引入的改进,并且可能使用不再可用的技术。
有关Java SE 9和后续版本中更新的语言功能的摘要,请参阅Java语言更改。
有关所有JDK版本的新功能、增强功能以及删除或弃用选项的信息,请参阅JDK发布说明。
本节定义了一个可重用的测试工具,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("无控制台。");
System.exit(1);
}
while (true) {
Pattern pattern =
Pattern.compile(console.readLine("%n输入您的正则表达式:"));
Matcher matcher =
pattern.matcher(console.readLine("输入要搜索的字符串:"));
boolean found = false;
while (matcher.find()) {
console.format("我找到了文本" +
" \"%s\" 从 " +
"索引 %d 到索引 %d。%n",
matcher.group(),
matcher.start(),
matcher.end());
found = true;
}
if(!found){
console.format("未找到匹配项。%n");
}
}
}
}
在继续下一节之前,请保存并编译此代码,以确保您的开发环境支持所需的软件包。