黑马程序员技术交流社区
标题:
正则表达式问题,求指教
[打印本页]
作者:
hrfhwy
时间:
2015-12-8 20:37
标题:
正则表达式问题,求指教
//将ip地址进行自然顺序的排序
//ip=ip.replaceAll("0*(\\d{3})","$1");理解不了,为什么是0*,而不是0+
//System.out.println(addr.replaceAll("0*(\\d+)","$1"));//这个也不理解
String ip="192.168.1.254 102.49.67.9 10.10.10.10 2.2.2.2 8.109.90.30";
ip=ip.replaceAll("(\\d+)","00$1");
System.out.println(ip);
ip=ip.replaceAll("0*(\\d{3})","$1");
System.out.println(ip);
String[] addrs=ip.split(" +");
Arrays.sort(addrs);
for (String addr:addrs )
{
System.out.println(addr.replaceAll("0*(\\d+)","$1"));
}
作者:
VisionDo
时间:
2015-12-8 22:46
package exp;
import java.util.Arrays;
public class SortIp {
public static void main(String[] args) {
String ip="192.168.1.254 102.49.67.9 10.10.10.10 2.2.2.2 8.109.90.30";
SortIpFunc(ip);
}
private static void SortIpFunc(String ip){
//小数点切割的时候,一定要使用转义符(双斜杠)
String[] StrIp = ip.replaceAll(" +", ".").split("\\.");
int[] NumIp = new int[StrIp.length];
for(int i = 0; i< StrIp.length; i++){
NumIp[i] = Integer.valueOf(StrIp[i]);//将数字转换成整形数值
}
Arrays.sort(NumIp);
for(int index:NumIp)
System.out.print(index+" ");
}
}
复制代码
作者:
mm2015
时间:
2015-12-8 23:00
还没学习呢
作者:
Yuto吕
时间:
2015-12-9 09:39
+表达式至少出现1次,相当于 {1,0}
*表达式不出现或出现任意次,相当于 {0,}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2