正则表达式
2018-05-25 17:01 yelena 阅读(175) 评论(0) 编辑 收藏 举报正则表达式定义:使用单个字符串来描述、用来定义匹配规则,匹配一系列符合某个句法规则的字符串
字母x:字母x
\\:\
\t:空格
\n:换行
\r:回车
[abc]:a b c中的任一个
[^abc]:除了a b c 以外的一个
[a-zA-Z]:a到z和A到Z之间的一个
[0-9]:0到9之间的一个
[a-zA-Z_0-9]:a到z A到Z _0到9之间的一个
.:任意一个字符 只想使用.的话 用\\.
\d:等同于[0-9]
\w:等同于[a-zA-Z_0-9] 单词字符
^[abc]:以a b c 中的一个开头
[0-9]$:以数字结尾
\b[abc]\b:a b c 的两边需要非单词字符
x?:出现1次或者0次
x*:出现0次或者多次
x+:出现1次或者多次
x{n}:x出现n次
x{n,}:x至少出现n次
x{n,m}:x出现n-m次
正整数:\\d+
正小数:\\d+\\.\\d+
负整数:-\\d+
负小数:-\\d+\\.\\d+
保留两位小数的正数:\\d+\\.\\d{2}
保留1-3位小数的正数:\\d+\\.\\d{1,3}
方法:
matches():返回值是boolean
aplit():拆分字符串,返回字符串数组
replaceAll():替换
检校qq号码 // 1,必须5-15位 // 2,0不能开头 String regex = "[1-9][0-9]{4,14}"; String str = "12345"; boolean f = str.matches(regex); System.out.println(f); // 检校手机号码 // 1,必须11位 // 2,第一位为1,第二位为3,4,5,7,8 // 第三位为0-9之间的9位数字 String regex1 = "1[34578][\\d]{9}"; String str1 = "13512345678"; boolean f1 = str1.matches(regex1); System.out.println(f1); String str2 = "138-1357-2468"; String regex2 = "8"; String[] str22 = str2.split(regex2); System.out.println(str22); //增强for for(String a:str22){ System.out.println(a); //String a:定义要遍历的数组或集合的变量 //数组或集合名 } String str3 = "i love java,java loves me"; String regex3 = "a"; String s = str3.replaceAll(regex2,"b"); System.out.println(s); String regex5 = "[a-zA-Z0-9_]+@[a-zA-Z0-9]+(\\.[a-zA-Z]+)+"; String str5 = "12345678@qq.com.cn"; boolean b1 = str5.matches(regex5); System.out.println(b1);
Date类
获取当前日期的毫秒值
long sysdate = System.currentTimeMillis();
获取的是距离时间原点的一个毫秒值 1970-01-01 00:00:00
Date类的构造方法
空参构造:获得当前日期
有参构造:传一个long类型数值,获得一个日期
//空参构造,当前日期的函数 Date d = new Date(); System.out.println(d); //毫秒值转date日期 Date d2 = new Date(1000000000000l); System.out.println(d2);
方法:
getTime():获取调用者距离时间原点的一个毫秒值
System.out.println(d.getTime());
System.out.println(d2.getTime());
DateFormat类:
抽象类,用于把时间或日期格式化
一般用子类SimpleDateFormat类
SimpleDateFormat sdf = new SimpleDateFormat();括号里放置自己想要的日期格式
方法:
format():括号里面放置Date类对象 返回值是一个String类型
//日期格式化对象 SimpleDateFormat sdf = new SimpleDateFormat ("yyyy-MM-dd HH:mm:ss"); //将日期对象转换成字符串 Date d = new Date(); String str = sdf.format(d); System.out.println(str);
parse():括号里放置String类型对象,返回值是一个Date类型
//将字符串转成日期对象 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); String date = "2000-12-22"; Date d = sdf.parse(date); System.out.println(d);
Calender类
抽象类,不能直接创建,要调用静态方法创建
getinstance()方法
方法的使用
get():返回指定的日历字段的值,括号中需要用Calender.year这种写法
add():增加或减去指定的时间量
getTime():返回一个调用者距离时间原点的Date类型对象
set():把指定日历字段设置成括号里的值
Calendar c = Calendar.getInstance(); System.out.println(c.get(Calendar.DAY_OF_WEEK)); System.out.println(c.get(Calendar.MONTH)+1); //c.add(Calendar.DATE,3); System.out.println(c.get(Calendar.DATE)); Date d = c.getTime(); System.out.println(d); c.set(Calendar.YEAR,2099); c.set(Calendar.MONTH,6); c.set(Calendar.DATE,6); c.set(2055, 6, 12); System.out.println(c.get(Calendar.YEAR));