我正在尝试在JAVA中学习正则表达式,建议我在我首选的IDE(Eclipse)中复制和编译代码以测试API的工作方式。
资料来源:https://docs.oracle.com/javase/tutorial/essential/regex/test_harness.html
当我跑步时,我的IDE只在输出中说“无控制台”。
我已经从我为JAVA拍摄的在线课程中编写了许多程序,从未遇到过无法识别控制台的情况。我已经将这些已编译的项目导出为runnable .jars,并且从命令行执行只有jar文件名时从未遇到过问题。我发现当导出为runnable .jar时 - 对于这个特定的jar文件 - 前言在命令行上执行 - &gt; java -jar <*runnable.jar*>
。
这有效......从我的IDE运行不会
也许显然,我是OOP的新手,我到处搜索(包括在你的网站上),并且没有线索。我在Windows 7 64位机器上运行Eclipse 2(4.5.2)版本的Eclipse; JRE / JDK 8;以及JAVA_HOME ENV设置。
有人可以告诉我在Eclipse的IDE设置中要更改哪些属性?或许,Oracle代码需要针对我的特定环境进行扩充?
答案 0 :(得分:0)
本教程使用System.console()
,但这需要一个实际的终端,并且在IDE中运行时不会起作用。这很遗憾,因为它可以很好地从System.in
&amp;请改为打印到System.out
。
这是一个可以在Eclipse或任何好的IDE中使用的替代品:
import java.util.regex.Pattern;
import java.util.regex.Matcher;
public class RegexTestHarness {
public static void main(String[] args){
Scanner input = new Scanner(System.in);
while (true) {
System.out.println("\nEnter your regex: ");
Pattern pattern =
Pattern.compile(input.nextLine());
System.out.println("Enter input string to search: ");
Matcher matcher =
pattern.matcher(input.nextLine());
boolean found = false;
while (matcher.find()) {
System.out.printf("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){
System.out.println("No match found.\n");
}
}
}
}