2012-09-22 65 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

感谢队友。我现在得到了。 –