黑马程序员-day25综合练习

---------------------- android培训java培训、期待与您交流! ----------------------


import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.URL;
import java.net.URLConnection;
import java.util.TreeSet;
import java.util.regex.Matcher;
import java.util.regex.Pattern;




public class day25 
{
public static void main(String[] args) throws IOException
{
//模拟校验QQ号格式
String qq = "65870ff";
String regex = "[1-9][0-9]{4,14}";
boolean flag = qq.matches(regex);
if(flag)
{
System.out.println(qq+"符合规则");
}
else
{
System.out.println(qq+"不符合规则");
}
//模拟校验移动号段的电话号
String tel = "1234566666";
regex = "1[358]\\d{9}";
flag = tel.matches(regex);
if (flag)
{
System.out.print(tel+"是移动号");
}
else
{
System.out.println(tel+"不是移动号");
}
//按若干空格切割
String s = "adf   asdf fff   ffaa";
regex = " +";
String[] names = s.split(regex);
for(String name : names)
{
System.out.println(name);
}
//按叠词切割
s = "asdfffadeeefaejj;kj";
regex = "(.)\\1+";
names = s.split(regex);
for(String name : names)
{
System.out.println(name);
}
//按叠词替换
regex = "(.)\\1+";
String s2 = s.replaceAll(regex, "*");
System.out.println(s2);
//屏蔽5位以上的数字
String s3 = "asdf3424545asdf444444444asdf33";
s2 = s3.replaceAll("\\d{5,}", "*");
System.out.println(s2);
//将叠词替换成一个
s2 = s.replaceAll("(.)\\1+", "$1");
System.out.println(s2);
//获取三个字符单词
String s4 = "ming tian jiu yao fang jia la!";
regex = "\\b\\w{3}\\b";
Pattern p = Pattern.compile(regex);
Matcher m = p.matcher(s4);
while (m.find())
{
System.out.println(m.start()+m.group()+m.end());
}
//改写
String str = "我我...我我...我要..要要...要要...学学学....学学...编编编...编程..程.程程...程...程";
str = str.replaceAll("\\.+","");
str = str.replaceAll("(.)\\1+", "$1");
System.out.println(str);
//一段ip的排序输出
String ip = "192.68.1.254 102.49.23.013 10.10.10.10 2.2.2.2 8.109.90.30";
ip = ip.replaceAll("(\\d+)","00$1");
ip = ip.replaceAll("0*(\\d{3})", "$1");
TreeSet<String> ts = new TreeSet<String>();
String[] arr = ip.split(" +");
for (String s1 : arr)
{
ts.add(s1);
}
for (String s5 : ts)
{
System.out.println(s5.replaceAll("0*(\\d+)", "$1"));
}
//邮件的匹配
String mail = "123faf@sina.com.cn";
regex = "[0-9a-zA-Z_]{6,14}@[a-zA-Z0-9]{1,6}(\\.[a-zA-Z]{1,3}){1,3}";
System.out.println(mail.matches(regex));
//获取文件中的邮件
BufferedReader br = new BufferedReader(new FileReader("F:\\JAVA\\ReviewExercise\\day25\\mail.txt"));
String line = null;
regex = "[0-9a-zA-Z_]+@[a-zA-Z0-9]{1,6}(\\.[0-9a-zA-Z]{1,5}){1,3}";
Pattern p2 = Pattern.compile(regex);
while ((line = br.readLine()) != null)
{
Matcher m2 = p2.matcher(line);
while (m2.find())
{
System.out.println(m2.group());
}
}
//获取网页中的连接
URL url = new URL("http://www.autodiagnosistools.com");
URLConnection con = url.openConnection();
BufferedReader br1 = new BufferedReader(new InputStreamReader(con.getInputStream()));
regex = "[htp://wmain]{10,11}(\\.[a-z0-9]+)+";
Pattern p3= Pattern.compile(regex);
while ((line = br1.readLine()) != null)
{
Matcher m3 = p3.matcher(line);
while (m3.find())
{
System.out.println(m3.group());
}
}

}
}


---------------------- android培训java培训、期待与您交流! ----------------------

详细请查看:http://edu.csdn.net/heima

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值