2012-09-22 108 views
-2
Matcher m = Pattern.compile("\\@[^\\@]+\\@").matcher(myMsg); 
while (m.find()){ 
    totalPlaceHoldersList.add(m.group().toString()); 
} 

我有這個程序和我在一起。它有什麼作用?有人可以用例子向我解釋嗎?這個Java程序有什麼作用?

+2

這是什麼部分你不明白,在文檔中找不到?這是一個正則表達式匹配器的常見用法。 – Mat

+1

試試吧。讓'myMsg'爲''foo @ boo @ mu @ bar @ baz「',最後在你的控制檯上打印'totalPlaceHoldersList'來查看它的內容。 –

回答

4

它會匹配myMsg變量針對該正則表達式。然後它會在列表中添加結果(如果找到與模式匹配的內容)。

+0

MikkoP,我稍微改了一下。當談論正則表達式模式時,人們不會'比較',而是'匹配'。 –

+0

沒問題,很高興能得到幫助:D – MikkoP

+0

非常感謝。 –

0

此代碼處理字符串myMsg。在以下分隔符之間查找所有出現的子字符串:'\ @',並將它們放入名爲totalPlaceHoldersList的列表中。

讓假設你有這樣的myMsg:

myMsg = 'bla bla \@value1\@ bla bla \@value2\@ bla bla'; 

運行代碼後,你將不得不在totalPlaceHoldersList以下值:

["value1", "value2"] 

注意,該代碼將無法編譯和運行,因爲未聲明totalPlaceHoldersList。你會聲明它:

List<String> totalPlaceHoldersList = new ArrayList<String>(); 
+0

感謝隊友。我現在得到了。 –