java 正则问题 求救~!

_内啥玩意啊 2015-07-30 05:41:51
这是小弟写的一段 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了,希望知道的朋友指点一下,最好写个具体方法让我参透一下,谢谢了~!
...全文
163 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
我刚来,还是有点看不懂
oh_Maxy 版主 2015-07-30
  • 打赏
  • 举报
回复
if(m.find()) 改成 while(m.find())

50,543

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧