本帖最后由 ㄗ灬Night|K 于 2013-10-20 12:44 编辑
程序结果:
2.2.2.2
10.10.10.10
192.168.1.1
255.255.255.0
如果将程序28行替换为29行,打印结果的第二行应该不满足([1-9]+)这个条件啊,为什么还会打印出结果呢;还有就是两次结果最后一行不一样是为什么啊?- import java.util.TreeSet;
- import java.util.regex.Matcher;
- import java.util.regex.Pattern;
- public class TelRegTest {
- public static void main(String[] args) {
-
-
- String ip = "192.168.1.1 255.255.255.0 10.10.10.10 2.2.2.2";
- ip = ip.replaceAll("(\\d+)", "00$1");
- System.out.println(ip);
-
- ip=ip.replaceAll("0*(\\d{3})", "$1");
- System.out.println(ip);
-
- String[] str = ip.split(" ");
- TreeSet<String> ts = new TreeSet<String>();
- for(String s : str){
-
- ts.add(s);
- }
-
- for(String ss : ts){
-
- System.out.println(ss.replaceAll("0*(\\d+)", "$1"));
- //System.out.println(ss.replaceAll("0*([1-9]+)", "$1"));
- }
-
-
- }
- }
复制代码 |