package regex.test;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.util.Arrays;
import java.util.TreeSet;
public class RegexTest {
/**
*
* @param args
*/
public static void main(String[] args) {
/*
* 1 治疗口吃:我我我我我要要要要学学学学编编编程程
* 2 对ip地址排序
* 3 对邮箱地址校验
*
*/
test_3();
}
/*
* 邮箱地址校验
*/
private static void test_3() {
String mail="asd@sina.com.cn";
String regex="(\\w)+@[a-zA-Z0-9]+(\\.[a-zA-Z]{1,3})+";
boolean b=mail.matches(regex);
System.out.println(mail+":"+b);
}
/*
* 1 治口吃
*/
public static void test_1() {
String str2="我我...我...我我...要..要要要学学..学学编..编..编程..程";
//1 将字符串中的.去掉 用替换
String str1="我我我我我要要要要学学学学编编编程程";
String name=str2.replaceAll("\\.","");//去掉...
String name2=name.replaceAll("(.)\\1+","$1");//去掉重复
System.out.println(name2);
}
/*
* ip 地址排序
* 192.168.10.34 127.0.0.1 3.3.3.3 105.70.11.55
*
*/
public static void test_2() {
String str="192.168.10.34 127.0.0.1 3.3.3.3 105.70.11.55";
//1 为了让ip可以按照字符串顺序比较 只要让ip的每一段的位数相同
//所以 补0 按照每一位所需最多0进行补充 每一段都加两个00
str=str.replaceAll("(\\d+)","00$1");
//然后每一段 保留 数字3位
str=str.replaceAll("0*(\\d{3})", "$1");
System.out.println(str);
int []num=new int[4];
String []ips=str.split(" ");
TreeSet<String> ts=new TreeSet<>();
for(String ip:ips) {
ts.add(ip);
}
for(String ip:ts) {
System.out.println(ip.replaceAll("0*(\\d+)", "$1"));
}
/* for(int i=0;i<ip.length;i++) {
Pattern p=Pattern.compile("\\d{1,3}");
Matcher m=p.matcher(ip[i]);
m.find();
num[i]=Integer.parseInt(m.group());
}*/
//Arrays.sort(num);
}
}
Java 正则表达式 练习
最新推荐文章于 2024-07-21 21:00:39 发布