java 正则表达式问题求救~!
这是小弟用java写的一段关于正则表达式的code:
import java.util.regex.Pattern;
import java.util.regex.Matcher;
public class SearchProperty{
public static void main(String[] args){
String str = "class test{public fuction success(){$cid = I(one', 0, haha');$page = I('getname', 0 ,'getmsg');$query = I('get.success', blank, '');}}";
Pattern p = Pattern.compile("(?<=function\\s).*(?=\\s*\\{\\s*)");
Matcher m = p.matcher(str);
if(m.find()){
int count = m.groupCount();
for (int i = 0; i<=count; i++)
System.out.println("group " + i + " :" + m.group(i));
}
}
}
其中str字符串里的内容是这样的:
class test{
public fuction success(){
$cid = I(one', 0, haha');
$page = I('getname', 0 ,'getmsg');
$query = I('get.success', blank, '');
}
}
我的目的是想通过正则表达式(?<=function\\s).*(?=\\s*\\{\\s*)得到字符串里方法的名字(也就是success),但是一运行什么东西都没有。我不知道这条正则表达式再在ava中是否正确,希望各位大神告诉我应该怎么做,最好写出具体方法,给我点条明路~!