Topic: java Pattern 类的一个问题,。。。

  Print this page

1.java Pattern 类的一个问题,。。。 Copy to clipboard
Posted by: develop8
Posted on: 2006-05-24 07:59

import java.util.regex.*;
public class Test{
public static void main(String[]args){
String s="java.lang.String.substring()";
Pattern p= Pattern.compile("(\\w+\\.\\w+){3}");
System.out.println(p.matcher(s).replaceAll(""));
}
}
/*
x 在1的结果是 .()
x 在2的结果是 .subString()
x 在3的结果是 ()
怎么也不明白,他们到底是怎么分析的???????
请帮我分析好吗?拜托了。。
*/

2.Re:java Pattern 类的一个问题,。。。 [Re: develop8] Copy to clipboard
Posted by: chance2000
Posted on: 2006-05-24 18:49

当x为1时,s有两次匹配模式,第一次匹配并替换后:".String.substring()" 即串"java.lang"匹配模式,第二次匹配并替换后:".()" 即串"String.substring"匹配模式,所以结果为".()"
当x为2时,s仅一次匹配模式,即串"java.lang.String"匹配模式,所以结果为".subString()"
当x为3时,s仅一次匹配模式,即串"java.lang.String.substring"匹配模式,所以结果为"()"

说明:x表示模式必须匹配x次


   Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent
Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1
客服电话 18559299278    客服信箱 714923@qq.com    客服QQ 714923