内容:对ip地址切割然后按数字排序;判断是不是邮箱;爬一个页面获取里面的邮箱地址
//#########练习1
对一段ip地址切割排序
private static void ipsort() { string ip_source = "192.168.1.200 17.10.10.12 3.3.46.1 127.0.0.1"; //ip每段前面补两个0 ip_source = ip_source.replaceall("(\\d+)", "00$1"); system.out.println(ip_source); //保留每段后面的3位 ip_source = ip_source.replaceall("0*(\\d{3})", "$1"); system.out.println(ip_source); string[] ips = ip_source.split(" +"); arrays.sort(ips); for(string ip : ips){ system.out.println(ip.replaceall("0*(\\d+)", "$1")); } }
//##############
判断是不是邮箱地址
private static void checkmail() { string mail = "abc123@sina.com"; string regex = "\\w+@[a-za-z0-9]+(\\.[a-za-z]{2,3}){1,3}"; boolean b = mail.matches(regex); system.out.println(mail+":"+b); }
//########################
网页爬虫
public class netspider { public static void main(string[] args) throws ioexception { file file = new file("mail.html"); //随便一个文件,里面放多一点邮箱就行了。因为暂时没到网页部分,所以直接这样处理 string mailregex = "\\w+@\\w+(\\.\\w+)+"; list<string> maillist = getmails(file,mailregex); for(string s: maillist){ system.out.println(s); } } private static list<string> getmails(file file, string mailregex) throws ioexception { //1、读取数据 bufferedreader bufr = new bufferedreader(new filereader(file)); //2、将正则封装成对象 pattern pt = pattern.compile(mailregex); //3、定义list集合 list<string> list = new arraylist<string>(); string line = null; while((line = bufr.readline()) != null){ matcher mt = pt.matcher(line); while(mt.find()){ list.add(mt.group()); } } return list; } }
mail.html 是随便一个贴吧很多邮箱的页面
如对本文有疑问, 点击进行留言回复!!
Algebra:Chapter 0 - 预备知识: 集合论和categories
springboot + vue上传图片在服务器并实现在线预览
请谨慎使用增强for循环,刚接触Java值得一看(手动狗头)
【Nginx】还不会使用Nginx解决跨域问题?肝这一篇就够了!!
网友评论