A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 李月 中级黑马   /  2012-5-4 15:46  /  1615 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

需求:将IP地址进行地址段的排序。

String ip="192.68.1.254 198.68.36.102 10.10.10.10 2.2.2.2 8.10.26.53"
ip=ip.replaceAll("(\\d+)","00$1");
ip=ip.repalceAll("0*(\\d{3})","$1");//这里的正则表达式我看不懂?谁能帮解答一下。

1 个回复

正序浏览
ip=ip.repalceAll("0*(\\d{3})","$1");————

       \d代表0-9的数字,由于\转义,用\\d表示,
        \\d{3}代表数字出现恰好三次
        所以ip=ip.repalceAll("0*(\\d{3})","$1")的意思就是把数字保留3未而如果前面还有1个或多个0的话把前面的0去掉(0*)

运行结果如下:
00192.0068.001.00254 00198.0068.0036.00102 0010.0010.0010.0010 002.002.002.002 008.0010.0026.0053
192.068.001.254 198.068.036.102 010.010.010.010 002.002.002.002 008.010.026.053

      
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马