我是一名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