Java学习笔记(九)--Calendar类 正则表达式
来源:互联网 发布:电脑抽奖软件下载 编辑:程序博客网 时间:2024/05/18 16:13
Calendar类
1.Calendar(日历类):获取年,获取月,获取日,获取时,获取分,获取秒。
2.public int get(int field)
:返回给定日历字段的值。
3.调用 Calendar 类的 getInstance() 方法获取一个实例,然后通过调用 get() 方法获取日期时间信息,参数为需要获得的字段的值, Calendar.Year 等为 Calendar 类中定义的静态常量。
Calendar c = Calendar.getInstance();//获取Calendar对象int year=c.get(Calendar.YEAR);//获取年int month=c.get(Calendar.MONTH)+1;//获取月份,0表示1月份int day=c.get(Calendar.DAY_OF_MONTH);//获取日int hour=c.get(Calendar.HOUR_OF_DAY);//获取时int minute=c.get(Calendar.MINUTE);//获取分int second=c.get(Calendar.SECOND);//获取秒
4.Calendar类提供了getTime()方法,来获取Date对象,完成Calendar和Date的转换。
Date date=c.getTime();
5.getTimeInMillis():获取当前Clendar的毫秒值。
long time=c.getTimeInMillis();
6.puublic void add(int field,int amount)
:根据amount修改filed的值。 public void set(int year,int month,int date)
:设置当前日历的年月日。
需求:键盘录入年份,获取任意一年的二月有多少天。
package com.edu.calendar;import java.util.Calendar;import java.util.Scanner;public class CalendarTest { public static void main(String[] args) { /** * 1.获取年份 * 2.将日历对象的时间调到,此年的3月的第一天 * 3.将日期对象向前推一天 * 4.获取此天的日期 */ System.out.println("请输入年份"); Scanner sc = new Scanner(System.in); int year = sc.nextInt(); // 2.将日历对象的时间调到,此年的3月的第一天 Calendar c = Calendar.getInstance(); c.set(year, 2, 1); //3.将日期对象向前推一天 c.add(Calendar.DATE, -1); //4.获取此天的日期 System.out.println("该年的二月有"+c.get(Calendar.DATE)); }}
正则表达式
1.正则表达式是由普通字符(如英文字母)以及特殊字符(也称为元字符)组成的文字模式。该模式对文本查找时需要匹配的一个或多个字符串描述,给出一个匹配模板。
2.英文句点符号:匹配单个任意字符。
eg:
表达式”t。o 可以匹配:tno,t#o,teo等等。不可以匹配:tnno,to,Tno,t正o等。
3.方括号:只有方括号里面指定的字符才参与匹配,也只能匹配单个字符。
eg:
表达式:t[abcd]n 只可以匹配:tan,tbn,tcn,tdn。不可以匹配:thn,tabn,tn等。
4. | 符号。相当与“或”,可以匹配指定的字符,但是也只能选择其中一项进行匹配。
eg:
表达式:t(a|b|c|dd)n 只可以匹配:tan,tbn,tcn,tddn。不可以匹配taan,tn,tabcn
5.表示匹配次数的符号:
*:0次或多次
+:1次或多次
?:0次或1次
{n}:恰好n次
{n,m}:从n到m次
{n,}:至少n次
eg:
表达式:[0—9]{ 3 } \— [0-9]{ 2 } \— [0-9]{ 3 } 的匹配格式为:999—99—999
因为“—”符号在正则表达式中有特殊的含义,它表示一个范围,所以在前面加转义字符“\”。
6.^符号:表示否
^符号被称为“否”符号,如果用在方括号内,“^“表示不想匹配的字符。
eg:
表达式:[^x] 第一个字符不能是x
7.圆括号,和空白符号
“\s”是空白符号,只可以匹配一个空格、制表符、回车符、换页符,不可以匹配自己输入的多个空格。
()是分组号,可以用ORO API提取处出值,后面将详细讨论。
8.正则表达式的一些快捷符号:
\d表示[0—9], \D表示[^0—9], \w表示[0—9A—Z_a—z],
\W表示[^0—9A—Z_a—z], \s表示[\t\n\r\f], \S表示[^\t\n\r\f]
9.一些常用的正则表达式:
Java:
(([a-z]|_)(\w*)){6,20}匹配以字母或下划线开头,字母数字下划线结尾的字符串。
JavaScript:
/^(-?)(\d+)
.+ 一个或多个字符。
/0 第一次匹配的字符串。
10. java类中使用正则表达式:
eg1:
Pattern p = Pattern.compile(“t.n”);
Matcher m = p.matcher(“ton”);
if(m.matches()){
return true;
}
eg2:boolean bool=Pattern.matches (“t.n”,”ton”);
如果一个正则表达式要重复利用,用第一种,如果只匹配一次,第二种是最佳选择。
11.反斜线字符(‘\’)用于转义字符,同时还可以引用非转义字符(不包括非转义字母)
因此‘\’表示‘\’,‘{’表示{。 但是‘\y’就是错的,因为在不表示转义构造的 任何字母字符前 使用反斜线都是错误的。
12.判断功能: public boolean matches(String regex)
:告知此字符串是否匹配给定的正则表达式。
需求:找出规则,写出正则(1[38][0-9]{9}),校验电话号码。
public class RegexDemo { public static void main(String[] args) { /*13245678901 13332345678 13456789012 18812345678 18999999999 18666666666 18786868686 */ String number = "13245678901"; //正则表达式 String reg = "1[38][0-9]{9}"; //调用maches(String reg)进行判断指定字符串是否匹配指定的正则表达式 boolean flag = number.matches(reg); System.out.println(flag); }}
13.分割功能: public String[] split(String regex)
:根据给定正则表达式的匹配拆分此字符串。
需求:分割如下字符串:String s = “D:\baidu\20160826\day14”;
public class RegexDemo { public static void main(String[] args) { //String s = "D:\\baidu\\20160826\\day14"; String s = "D:\\baidu\\20160826\\day14"; String reg = "\\\\"; String[] strs = s5.split(reg); for (int i = 0; i < strs.length; i++) { System.out.println(strs[i]); } }}
14.替换功能: public String replaceAll(String regex,String replacement)
:把符合regex的用replacement替换。
需求:字符串中的数字使用*代替。
public class RegexDemo6 { public static void main(String[] args) { String s = "我的银行卡号是:6102344354565"; String reg = "[0-9]"; String newStr = s.replaceAll(reg, "*"); System.out.println(newStr); }}
- Java学习笔记(九)--Calendar类 正则表达式
- 正则表达式、Math、SimpleDateFromat、Calendar类+JAVA学习笔记-DAY14
- Linux学习笔记(九)正则表达式
- Java基础学习笔记14——(正则表达式,Math,Random,System,BigInteger,BigDecimal,Date/DateFormat,Calendar)
- PHP学习笔记九之正则表达式(进阶篇)
- java正则表达式学习笔记(一)
- java正则表达式学习笔记(二)
- java学习笔记(六) -- 正则表达式
- Java学习笔记----正则表达式
- Java学习笔记-正则表达式
- java学习笔记---正则表达式
- java 正则表达式-学习笔记
- JAVA学习笔记-正则表达式
- Java正则表达式学习笔记
- java正则表达式学习笔记
- java正则表达式学习笔记
- Java 正则表达式学习笔记
- [学习笔记]Java正则表达式
- tornado入门实例
- [LeetCode]378. Kth Smallest Element in a Sorted Matrix
- 如何使用Imatest进行色彩还原测试
- unpack(b) received extra data saltstack故障
- Android 中的IPC简单使用
- Java学习笔记(九)--Calendar类 正则表达式
- 利用java的IO流简单创建文件和赋值文件(内含简单代码)
- 提取字符串中的大写字母
- ASP.NET 统计连续签到天数
- MongoDB数据库备份
- 苹果微信web无法提交form表单问题解决
- PAT-1009
- mapreduce 二次排序后reduce输出中key的变化
- H264参数结构一:元素的分层结构