import java.util.*;
class RegexTest1
{
public static void main(String[] args)
{
//ipSort();
checkMail();
}
/*
将下列字符串转换成,我要学编程
1,如果只想知道该字符串知否符合规则,用匹配
2,如果想将已有的字符串变成另一个字符串,用替换
3,想要按照自定义的方式将字符串变成多个,用切割,获取规则以外的字符串
4,想要拿到符合要求的字符串子串,用获取,获取符合规则的子串
*/
public static void test()
{
String str="我我...我我我...要要要要....学学学学....编编编...程";
/*
替换,
1,先将.去掉
2,将多个重复内容变成单个
*/
str=str.replaceAll("\\.","");
System.out.println(str);
str=str.replaceAll("(.)\\1+","$1");
System.out.println(str);
}
//对下面IP进行分割排序
public static void ipSort()
{
String ip="192.168.1.254 102.49.23.103 2.2.2.2 8.12.168.201";
ip=ip.replaceAll("(\\d+)","00$1"); //每段数字前加两个0
System.out.println(ip);
//00192.00168.001.00254 00102.0049.0023.00103 002.002.002.002 008.0012.00168.00201
ip=ip.replaceAll("0*(\\d{3})","$1"); //保留三位
System.out.println(ip);
//192.168.001.254 102.049.023.103 002.002.002.002 008.012.168.201
String[] arr=ip.split(" ");
TreeSet<String> ts=new TreeSet<String>(); //用TreeSet进行排序
for(String s:arr)
{
ts.add(s);
}
for (String s:ts)
{
//System.out.println(s);
/*
002.002.002.002
008.012.168.201
102.049.023.103
192.168.001.254
*/
System.out.println(s.replaceAll("0*(\\d+)","$1"));//去掉前面的0
}
}
/*
对邮件地址进行校验
*/
public static void checkMail()
{
String mail="abc12@sina.com.cn.cn";
String reg="[a-zA-Z0-9_]+@[a-zA-Z0-9]+(\\.[a-zA-Z]+){1,3}";
String reg1="\\w+@\\w+(\\.\\w+)+"; //不太精确
System.out.println(mail.matches(reg1));
}
}