网站建设制作哪家好,网站建设主题,系部网站建设研究方案,做内部网站费用一、正则表达式
正则表达式 regex#xff0c;全称Regular Expression。正则表达式是一种规则#xff08;模式#xff09;匹配语法
可以使用一些正则表达式中的特殊符号来定义一种规则#xff0c;然后用此规则匹配某个字符#xff0c;如果字符串与规则匹配则返回true…一、正则表达式
正则表达式 regex全称Regular Expression。正则表达式是一种规则模式匹配语法
可以使用一些正则表达式中的特殊符号来定义一种规则然后用此规则匹配某个字符如果字符串与规则匹配则返回true不匹配返回false。
其常用方法如下
\\d 匹配数字 \\D匹配非数字 \\w 匹配数字字母下划线 \\W 匹配非数字 字母 下划线
\\s匹配空格 \\非空格 |逻辑或 .匹配任意字符 使用时需要转义 []表示范围 {}表示数量
*零或多 一或多 ?最多1
大多常用情景可以在网上搜索生成拿来使用本文提供相关网站为
https://www.sojson.com/regex/generate 生成regex String sa;System.out.println(s.matches(b));//定义s里是否有b/*//数字*/String s1123456;//定义s里只能有数字但是数字只能有一次,[]表示范围System.out.println(s1.matches([0-9]));//*表示允许零次或多次出现数字System.out.println(s1.matches([0-9]*));//表示至少一次出现数字System.out.println(s1.matches([0-9]));//?表示至多一次出现数字System.out.println(s1.matches([0-9]));//{num}必须有几次本例中表示0-9必须有三位System.out.println(s1.matches([0-9]{3}));//第一位是1后面三位数字System.out.println(s1.matches(1[0-9]{3}));//{num1,num2}表示区间System.out.println(s1.matches([0-9]{3,6}));//只允许出现357System.out.println(s1.matches([357]{3}));// \\d表示数字、\\D表示非数字System.out.println(s1.matches(\\d{3,6}));System.out.println(s1.matches(\\D{3,6}));//验证手机号String phoneNum13691309195;System.out.println(phoneNum.matches(1[3578]\\d{9}));/*//字母*/String eng abcdABCD;System.out.println(eng.matches([a-z]*));System.out.println(eng.matches([A-Z]*));System.out.println(eng.matches([a-zA-Z]*));//编码中A比a小System.out.println(eng.matches([A-z]*));//数字加字母加下划线System.out.println(eng.matches(\\w*));//允许System.out.println(eng.matches(\\W*));//不允许/*//空格*/String k ;System.out.println(k.matches(\\s));//例子 邮箱 xxxxxxxxxx.com 或者xxxxxxxxxx.com.cnString s3 1790352490qq.com;System.out.println(s3.matches(\\w{6,10} // .有特殊含义 需要转义[0-9A-z]{2,6}\\.(com|com\\.cn)));
二、Date类和Calendar 类
1、Date类 Date类是 Java 中表示日期和时间的类,可以用来获取和设置日期和时间的各个部分比如年、月、日、小时、分钟、秒等。Date 类也可以用于日期和时间的计算、比较和格式化。
方法
1、构造方法
Date date new Date();
2、获取时间
System.out.println(date.getTime());
此时获取的时间是自1900年1月1日到构造方法运行时的毫秒数通常需要定义1个long类型的变量来接收。
这时候有人就要说了我要这个毫秒数有什么用呢其实是有大用处的当我们想要测试运行效率时可以这样做
例如我们要测试String类和StringBuffer类各自拼接十万次的运行效率可以这样
//要求测试String字符串和StringBuffer字符串循环拼接10万次,程序运行耗时. public static void main(String[] args) {String string new String(abc);Date date1new Date();for (int i0;i100000;i){string a;}Date date2new Date();System.out.println(String 拼接十万次用时);System.out.println(date2.getTime()-date1.getTime());StringBuffer stringBuffernew StringBuffer(abc);Date date3 new Date();date3.getTime();for (int i0;i100000;i){stringBuffer.append(a);}Date date4 new Date();System.out.println(StringBuffer 拼接十万次用时);System.out.println(date4.getTime()-date3.getTime());}
这时我们可以明显发现StringBuffer拼接效率高于String类这也源自与他底层没有final限制 2、toString方法
打印程序运行开始的那一时刻
3、getYear();getMonth();getDay();
这三个方法已启用需要自己手动“配平” System.out.println(date.getYear()1900);//2024System.out.println(date.getMonth()1);//3System.out.println(date.getDay());//6 显示周几
非常难用
所以在使用这些功能时推荐使用Calendar类的方法
3、时间戳
//传入运行时的毫秒数可以转回具体时间 1709376357241称为时间戳Date date2 new Date(1709376357241L);System.out.println(date2);//Sat Mar 02 18:45:57 CST 2024
当构造函数时传入时间戳时可以返回获取时间戳时的时间
时间戳就是我们在getTime时获取的一大串毫秒数
2、Calendar类
刚刚讲到我们在用Date类获取时间时相当的麻烦而且其相关方法都已经弃用了这里Java给我们提供了更加方便的包日历Calendar类
1、构造方法
Calendar calendarCalendar.getInstance();
2、相关方法
System.out.println(calendar.get(Calendar.YEAR));
System.out.println(calendar.get(Calendar.MONTH)1);
System.out.println(calendar.get(Calendar.DAY_OF_MONTH));//今天是月的第几天
System.out.println(calendar.get(Calendar.DAY_OF_WEEK)-1);//是周的第几天老外周日是第一天
System.out.println(calendar.get(Calendar.DAY_OF_YEAR));//年的第几天
System.out.println(calendar.get(Calendar.WEEK_OF_YEAR));//年的第几周
System.out.println(calendar.get(Calendar.WEEK_OF_MONTH));//月的第几周//设置时间
calendar.set(year,month,date); 相当的方便 3、Math类与Random类
见名知意这两个类中为我们提供了数学与随机数的相关方法 System.out.println(Math.PI);//Π的值System.out.println(Math.abs(-1));//求绝对值System.out.println(Math.sqrt(9));//开方System.out.println(Math.pow(2,3));//n次幂System.out.println(Math.max(1,2));//返回最大值System.out.println(Math.floor(9.9));//向下取整System.out.println(Math.ceil(9.1));//向上取整System.out.println(Math.round(9.5));//四舍五入System.out.println(Math.random());//返回[0,1)之间的随机数 public class RandomDemo {static Random randomnew Random();public static void main(String[] args) {System.out.println(random.nextBoolean());//布尔值随机数System.out.println(random.nextInt());//int型随机数System.out.println(random.nextLong());//long型随机数System.out.println(random.nextInt(5));//给定范围[0,范围)随机整数}
}