Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 努力学习正则表达式_Java_Regex - Fatal编程技术网

Java 努力学习正则表达式

Java 努力学习正则表达式,java,regex,Java,Regex,大家好,我正试图从java网站学习正则表达式,我试图运行这个java程序,但每次我没有控制台输出,我该怎么办?以下是网址: 我正在eclipse内部尝试这个 更新: 有人能推荐一些更好的学习regex的方法吗?您是在Eclipse或IntellijIDEA这样的IDE中运行应用程序的吗?尝试改用命令行。一些IDE会破坏对System.console()的调用是的,Samir所说的是正确的。通过执行以下操作,可以测试IDE是否支持控制台: if (System.console() == null

大家好,我正试图从java网站学习正则表达式,我试图运行这个java程序,但每次我没有控制台输出,我该怎么办?以下是网址:

我正在eclipse内部尝试这个

更新:


有人能推荐一些更好的学习regex的方法吗?您是在Eclipse或IntellijIDEA这样的IDE中运行应用程序的吗?尝试改用命令行。一些IDE会破坏对
System.console()
的调用是的,Samir所说的是正确的。通过执行以下操作,可以测试IDE是否支持控制台:

if (System.console() == null)
{
    System.out.println("No console supported! :-(");
} else
{
    System.out.println("Console supported! :-)");
}
您可以阅读关于
System.console()的java文档

您可以看到,如果没有控制台,将返回
null

回答你的第二个问题 要打印某些内容:

System.out.println("Here your text you want to print");
Scanner scanner = new Scanner(System.in);
String oneWord = scanner.next();
String oneLine = scanner.next("\n");
阅读:

System.out.println("Here your text you want to print");
Scanner scanner = new Scanner(System.in);
String oneWord = scanner.next();
String oneLine = scanner.next("\n");
或:


希望这有帮助,你可以继续学习正则表达式

我建议您使用Perl学习正则表达式。它比Java集成得好得多使用此网站:


在内部,它使用
java.util.regex
包,因此您可以担心如何学习regex,并且在需要时仍然可以将您的知识直接转移到java中的regex中。

您可以尝试使用eclipses find/replace(或支持regex的非ide文本编辑器)实现不同类型的正则表达式

Python或Ruby交互式shell是测试正则表达式的好地方(正则表达式语法比Java好得多)


当然还有互联网。我强烈建议做两件事:

  • 阅读掌握正则表达式的前两章
  • 买Regex Buddy。这是一个小助手程序,可以帮助您使用和解释所有标记和分组选项。它允许您在使用的文本上测试表达式,还可以生成多种不同语言的代码段。当我需要正则表达式解决方案时,我开始使用它,它让我快速地学习。现在我不需要它,但我仍然使用它来测试一些复杂的命名组匹配,这些匹配是我为批处理文件解析所做的
    一年前我不得不学习RegEx。 我使用这两个站点在线测试我需要的正则表达式(,),而不是使用UltraEdit中的正则表达式


    这并不像一开始想象的那么困难

    您可能正在获取控制台输出,但它正在关闭,请尝试放置一个console.readline()或其他内容,以便在将某个内容放入控制台后停止,为了便于检查,我发现“egrep”是学习和测试正则表达式最简单的方法。当我偶然发现Rubular()时,我已经学习了正则表达式,但它似乎是初学者进行实验的好地方。@Samir Talwar我在eclipse中使用它,我如何使用命令行isntead?进入你的“bin”目录(或者在Eclipse输出“.class”文件的任何地方)使用
    cd
    命令并运行
    JavaMyClassName
    。如果类在包中,请在其前面加上前缀:
    JavaMy.package.name.MyClassName
    。如果不起作用,请告诉我们您正在使用的操作系统。不,我没有投票反对+1