package regular;
import java.util.*;
public class RegexDemo3 {
/**
* @param args
* 1.如果只想知道改字符对错,用匹配。
* 2.想要将已有的字符串编程另一个字符串,替换。
* 3.想要按照自定的方式将字符串变成多个字符串,切割。(获取规则外的子串)
* 4.想要拿到符合需求的字符串子串,获取。(获取符合规则的子串)
*/
public static void main(String[] args) {
//reg_demo1();
//reg_demo2();
check_mail();
}
private static void check_mail() {
//校验邮件地址
String mail = "abc12@sina.com.cn";
String reg = "[a-zA-Z0-9_]+@[a-zA-Z0-9]+(\\.[a-zA-Z]+){1,3}";//精确匹配
String reg1 ="\\w+@\\w+(\\.\\w+){1,3}";
sop(mail.matches(reg1));
}
private static void reg_demo2() {
/*
192.68.1.254 102.49.23.103 10.10.10.10 2.2.2.2 8.109.90.30
*/
String ip = "192.68.1.254 102.49.23.103 10.10.10.10 2.2.2.2 8.109.90.30";
ip = ip.replaceAll("(\\d+)","00$1");
sop(ip);
ip = ip.replaceAll("0*(\\d{3})","$1");
sop(ip);
sop("------------------------------");
String[] arr = ip.split(" ");
TreeSet<String> ts = new TreeSet<String>();//排序,在这里好像没有起到作用
for(String s:arr){
ts.add(s);
}
for(String s:arr){
//s=s.replaceAll("0*(\\d+)","$1");
sop(s);
}
}
private static void reg_demo1() {
String str = "我我...我我...我要...要要...要要...学学学...学学...编编编...编程..程.程程...程...程";
/*
想要将已有的字符串编程另一个字符串,替换。
1.先将 . 去掉
2.将多个重复内容替换为单个内容
*/
str=str.replaceAll("\\.","");
sop(str);
str=str.replaceAll("(.)\\1+","$1");
sop(str);
}
private static void sop(Object obj) {
System.out.println(obj);
}
}