假设我有String str="Hello $everybody$. How $are$ you $all$";
从上面的字符串中,我需要将值everybody
,are
,all
提取到列表中。注意所有必需的值都以$开头和结束。我怎么能在java中做到这一点?
请帮忙。
的问候,
答案 0 :(得分:3)
工作代码:
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class HelloWorld {
public static void main(String[] args) {
Pattern p = Pattern.compile("\\$(\\w.*?)\\$");
String s = "Hello $everybody$. How $are$ you $all$";
Matcher m = p.matcher(s);
while (m.find()) {
System.out.println(m.group(1));
}
}
}
答案 1 :(得分:1)
答案 2 :(得分:1)
尝试完成本教程:http://java.sun.com/developer/technicalArticles/releases/1.4regex/ - 它应该有所帮助。 \$(\w+)\$
就是诀窍。
答案 3 :(得分:0)
查看Java中的Matcher
类。
Pattern p = Pattern.compile( "$(.*)$", Pattern.DOTALL);
Matcher matcher = p.matcher(str);
while (matcher.find()) {
// Get the matching string
String match = matcher.group();
}