java正则表达式有反向引用吗?

chen_xiangguo 2009-12-11 12:19:24
在js里,我可以这样:

var pattern=/([a-z])([0-9])([A-Z])/g;
var data="a1AWWWWWWb2B";
data.replace(pattern,function($0,$1,$2,$3){
var s="$0:"+$0+";$1:"+$1+";$2:"+$2+";$3:"+$3;
document.write(s+"<br>");
});

页面输出结果是:

$0:a1A;$1:a;$2:1;$3:A
$0:b2B;$1:b;$2:2;$3:B

这里a1A是整个匹配,a是第一个括号的匹配,1是第二个括号的匹配,A 是第三个括号的匹配。
那么在java中,我怎么使用Pattern类和Matcher类取得"a"、"1"、"A"呢?
给出条件:
Pattern pattern = Pattern.compile("([a-z])([0-9])([A-Z])");
Matcher matcher=pattern.matcher("a1AWWWWWWb2B");
我要得到上面输出结果。
(整个匹配是group我知道,但是再具体到每个括号呢?)
...全文
179 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
swandragon 2009-12-11
  • 打赏
  • 举报
回复
matcher.group(1);
matcher.group(2);

int l = matcher.groupCount();
for(int i = 0; i <l; i ++)
System.out.println(mather.group(i));

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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