java正则表达式小练习(IP地址检测、排序,叠词的处理,邮件地址的获取)
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java正则表达式小练习(IP地址检测、排序,叠词的处理,邮件地址的获取),小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2350字,纯文字阅读大概需要4分钟。
内容图文
![java正则表达式小练习(IP地址检测、排序,叠词的处理,邮件地址的获取)](/upload/InfoBanner/zyjiaocheng/1071/a1f61cf17ba649a5938a97752c1f9da6.jpg)
import java.util.Arrays; import java.util.Comparator; import java.util.Scanner; import java.util.regex.Matcher; import java.util.regex.Pattern; class MyComparator implements Comparator<String>{ publicint compare(String ip1, String ip2) { Pattern p = Pattern.compile("\\d{1,3}"); Matcher m1 = p.matcher(ip1); Matcher m2 = p.matcher(ip2); while(m1.find()){ m2.find(); System.out.println(m1.group() + " " + m2.group()); int i1 = Integer.valueOf(m1.group()); int i2 = Integer.valueOf(m2.group()); if(i1 < i2) return -1; elseif(i1 > i2) return 1; } return 0; } } publicclass RegexDemo { /** * @param args */publicstaticvoid main(String[] args) { /* * 治疗口吃:"我我..我我....我我要要...要要..要要要要学学学...学学学学编编编...编编编编程程程..程..程程...程.程程" * 变成“我要学编程” * 1.替换 2.处理叠词 */ String str="我我..我我....我我要要...要要..要要要要学学学...学学学学编编编...编编编编程程程..程..程程...程.程程"; str = str.replaceAll("\\.+", ""); str = str.replaceAll("(.)\\1+", "$1"); System.out.println(str); /* * ip地址的排序: * 192.168.10.34 127.0.0.1 3.3.3。3 105.70.11.55 * 对应段的数字比较! * *///第一种方法,获取每一个字段的数字,数字之间进行比较 String[] ip = {"192.168.10.34", "127.0.0.1", "3.3.3.3", "105.70.11.55"}; Arrays.sort(ip, new MyComparator()); for(int i=0; i<ip.length; ++i) System.out.println(ip[i]); //第二种方法,将每一个字段的长度都变成3位 String[] ip2 = {"192.168.10.34", "127.0.0.1", "3.3.3.3", "105.70.11.55"}; for(int i=0; i<ip2.length; ++i){ ip2[i] = ip2[i].replaceAll("(\\d+)", "00$1");//首先每一段都加上连个前导0 ip2[i] = ip2[i].replaceAll("0*(\\d{3})", "$1");//将每一段变成标准的3位 } Arrays.sort(ip2); for(int i=0; i<ip2.length; ++i){ ip2[i] = ip2[i].replaceAll("0*(\\d+)", "$1");//将每一段的数字还原! System.out.println(ip2[i]); } /* * 对邮件地址校验! */ String mail = "abc@sina.com.cn"; boolean bf = mail.matches("\\w+@\\w+(\\.\\w+)+"); System.out.println(mail + ":" + bf); String sr=" fsdfs.12345 "; Pattern p = Pattern.compile("\\w+"); Matcher m = p.matcher(sr); while(m.find()){ System.out.println(m.group()); } /* * 正则表达是实现ip地址的检验功能! */ String ip3 = null; String ipRegex = "^(\\d|[1-9]\\d|1\\d*|2[0-4]\\d|25[0-5])(\\.\\1){3}$"; /* * \\d|[1-9]\\d|1\\d*|2[0-4]\\d|25[0-5] * 该段的数字只有一位的时候,两位数字的时候,三位数字的时候(1开头的和2开头的) */ Scanner scan = new Scanner(System.in); while((ip3 = scan.nextLine()) != null){ if(ip3.matches(ipRegex)) System.out.println("True"); else System.out.println("false"); } } }
原文:http://www.cnblogs.com/hujunzheng/p/4063581.html
内容总结
以上是互联网集市为您收集整理的java正则表达式小练习(IP地址检测、排序,叠词的处理,邮件地址的获取)全部内容,希望文章能够帮你解决java正则表达式小练习(IP地址检测、排序,叠词的处理,邮件地址的获取)所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。