day 16 正则 日期

1.正则

  • 正则是字符串,是对字符高度处理的一组条件语句
  • pattern有关于正则的详细介绍
正则中字母均区分大小写
\\表示\本身
\表示转义,\n 换行  \t tab键  \r表示回车(回到下一行前边)
[a]或a表示a本身
[abc]表示含有a或者b或者c就匹配
[^abc]表示含有abc 任意一个就不匹配   ^表示抑或
[0-9]或\d(实际上是\\d)表示数字
[a-zA-Z]表示大小写字母相匹配
[a-zA-Z_0-9](或\w实际上\\w)表示字母数字相匹配
. 匹配任意字符()注意在之后需要用到 单纯.需要转义为\.
a?表示出现一次或没有
x{n}表示x出现n次
x{n,}表示x出现至少n次
x{n,m}表示最少n或者m次
[]表示字符串的一个字符位置上的条件,单独[]表示字符串首个字符的条件
{}表示范围
[0-9]{9}表示一个九位数的数字或者\\d{9}同义(\\D表示非数字)
1[3578][0-9]{9}表示首位1,第二位只能3578,余下九位数字
a*b表示a是0次或多次最后一位是b

2.String中字符匹配几个方法

  • matches(正则规则)返回boolean值
  • split(“a”)按照a来切割返回一个string[]
  • replaceall(规则,字符)按照规则来替换成字符
"abc".matches("[a]")表示abc字符串第一位是a匹配成功
“15------ab---de---34”.split("-+")按照-来切割
+是将连续的-都切掉(匹配多个或一个字符是-)
“hello1234---www.aaa3456”.replaceall("[0-9+]",“#”)
打印时hello####---www.aaa####
“hello1234---www.aaa3456”.replaceall("[0-9]+",“#”)
打印时hello#---www.aaa#
正小数:\\d+\\.\\d
小数点后两位:\\d+\\.\\d{2}
(\\.[a-z]+)+表示(.多个字母)整体可出现多次

3.date类

  • System.currentTimeMillis()返回long值参数,是时间毫秒,起始时间是1970年一月一日午夜00:00:00
  • 事件本身不可计算但是可以转换成毫秒来计算,计算机底层是毫秒来计算
  • date是在util包中
  • long类型返回值大部分是时间毫秒
  • new Date(99999999999L)转换毫秒变成对应日期对象
  • getTime()将date转成毫秒值
long time=new Date().getTime()
  • settime()将日期设置到指定毫秒值上

4.dateformate
simpledateformate是其子类

String date= new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss").format(new Date());
    System.out.println(date);
  • parse将字符串解析成日期对象,有异常在void name()和{}之间添加throws exception(方法本身和调用方法都用抛出异常)
public static void main(String[] args)throws Exception {
        mat();
    }
public static void mat()throws Exception {
    Date date= new SimpleDateFormat("yyyy-MM-dd").parse("2015-9-9");
    System.out.println(date);
    
}

5.calander类

  • 不需要new子类而是getinstance来静态获取
  • 老外0-11月,书写2表示三月,get得到的需要+1
Calendar.getInstance().get(Calendar.YEAR);
一是不需要new,二是获取年或者月日等需要用静态参数Calendar.YEAR
Calendar.getInstance().get(Calendar.MONTH)+1得到月
  • set(字段,数值)设置日历到指定时间
Calendar.getInstance().set(Calendar.MONTH,9)设置到10月份
或者可以set(年,月,日)
  • add(字段,数值)在某一个时间偏移
判断闰年,3月1日前一天是二月几日,29就是闰年
Calendar can=Calendar.getInstance();
    can.set(2088, 2,1);
    can.add(Calendar.DAY_OF_MONTH,-1);
System.out.println(can.get(Calendar.DAY_OF_MONTH)); 
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容