求一个正则表达式,要把里面符合条件的子串提取出来,然后生成数组。谢谢
String str = "${61+24*#DetailCount+#Test/#ListCount} ";
怎么把#DetailCount,#Test,#ListCount给提取出来,然后放到数组里面啊?
#Test之间通过+-*/连接。
谢谢,就是不知道正则怎么写。
------解决方案--------------------package net.rubyeye.webservicedemo;
import java.util.ArrayList;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Test {
/**
* @param args
*/
public static void main(String[] args) {
String str = "${61+24*#DetailCount+#Test/#ListCount} ";
Pattern p=Pattern.compile( "(#{1}\\w+)(?=\\+|-|\\*|/)? ");
Matcher m=p.matcher(str);
List temp=new ArrayList();
while(m.find()){
temp.add(m.group(1));
}
Object []results=temp.toArray();
for(Object s:results){
System.out.println(s);
}
}
}
------解决方案--------------------JS版
<script>
var obj=[];
var i=0;
var str= "${61+24*#DetailCount+#Test/#ListCount} ";
str.replace(/(#[a-zA-Z]+)/g,function($1){obj[i]=$1;i++;});
alert(obj);
</script>