黑马程序员技术交流社区

标题: 正则表达式的疑问 [打印本页]

作者: 李月    时间: 2012-5-4 15:46
标题: 正则表达式的疑问
需求:将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");//这里的正则表达式我看不懂?谁能帮解答一下。
作者: 龚振 龚振 龚振    时间: 2012-5-4 17:20
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

      




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2