我是一名Java和正则表达式的初学者程序员,我想创建一个简单的wordcount程序。速记正则表达式与长版本有何不同?
我在下面的第二个例子中遇到了一些麻烦,我切换到了第一个例子,它工作。第二个不停地匹配同一个单词(无限的,所以程序的其余部分不会完成),但第一个工作正确,并计算所有的单词。我不知道为什么。我认为他们应该是一样的。
鉴于line
是从另一个文件读取线被wordcounted,word
是Pattern
分开的话,wordList
是List<String>
包含所有的话,再怎么是下面的代码:
Matcher match = word.matcher(line);
while(match.find())
wordList.add(match.group());
...与此代码不同?
while((Matcher match = word.matcher(line)).find())
wordList.add(match.group());
感谢您的任何帮助。
(另外,你能帮助我的标题?我不知道叫什么“速记”的代码。)
完全合理。谢谢!我会牢记这一点。 – 2014-11-02 13:54:00
@Jon欢迎您:) – Pshemo 2014-11-02 13:54:40
一种脱离主题,但是有一个名字来结合'Matcher'声明和'while'循环语句吗?这对我来说是新的,我认为它很酷,但我不知道该怎么称呼它。 – 2014-11-02 13:55:02