java 正则问题 求救~!
这是小弟写的一段 java代码:
import java.util.regex.Pattern;
import java.util.regex.Matcher;
public class SearchProperty{
public static void main(String[] args){
String str = "class ceshi{public fuction chenggong1(){$cid = I('get.cid', 0, 'intval'); $query = I('get.query', null, '');$page = I('get.page', 1 ,'intval');;}}class test{public fuction success(){$cid = I(one', 0, haha');$page = I('getname', 0 ,'getmsg');$query = I('get.success', blank, '');}}";
Pattern p = Pattern.compile("((?<=\\bclass\\s)\\w+\\b)");
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 ceshi{
public fuction success(){
$cid = I(one', 0, haha');
$page = I('getname', 0 ,'getmsg');
$query = I('get.success', blank, '');
}
}
class test{
public fuction chengggong(){
$cid = I(one', 0, haha');
$page = I('getname', 0 ,'getmsg');
$query = I('get.success', blank, '');
}
}
把这段代码当成文本用正则来进行搜索,我想得到这段代码文本的类名(就是test 和ceshi),但是运行时只得到了ceshi,我不知道什么回事啊,我用正则表达式测试器Regex Tester测试过正则是可以的(就是可以匹配到test 和ceshi),但是到了java我就不知道怎么通过正则来获取test 和ceshi了,希望知道的朋友指点一下,最好写个具体方法让我参透一下,谢谢了~!