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'来查看它的内容。 –