Matcher m = Pattern.compile("\\@[^\\@]+\\@").matcher(myMsg);
while (m.find()){
totalPlaceHoldersList.add(m.group().toString());
}
我有這個程序和我在一起。它有什麼作用?有人可以用例子向我解釋嗎?這個Java程序有什麼作用?
Matcher m = Pattern.compile("\\@[^\\@]+\\@").matcher(myMsg);
while (m.find()){
totalPlaceHoldersList.add(m.group().toString());
}
我有這個程序和我在一起。它有什麼作用?有人可以用例子向我解釋嗎?這個Java程序有什麼作用?
它會匹配myMsg
變量針對該正則表達式。然後它會在列表中添加結果(如果找到與模式匹配的內容)。
此代碼處理字符串myMsg。在以下分隔符之間查找所有出現的子字符串:'\ @',並將它們放入名爲totalPlaceHoldersList的列表中。
讓假設你有這樣的myMsg:
myMsg = 'bla bla \@value1\@ bla bla \@value2\@ bla bla';
運行代碼後,你將不得不在totalPlaceHoldersList
以下值:
["value1", "value2"]
注意,該代碼將無法編譯和運行,因爲未聲明totalPlaceHoldersList
。你會聲明它:
List<String> totalPlaceHoldersList = new ArrayList<String>();
感謝隊友。我現在得到了。 –
這是什麼部分你不明白,在文檔中找不到?這是一個正則表達式匹配器的常見用法。 – Mat
試試吧。讓'myMsg'爲''foo @ boo @ mu @ bar @ baz「',最後在你的控制檯上打印'totalPlaceHoldersList'來查看它的內容。 –