Java 软件构造 Software Construction(四)

关于Java自带类Date与Calendar的使用

Date d = new Date();//创建一个代表系统当前日期
d = Date(2021-1900, 7-1, 1); //创建一个代表2021.7.1日期的Date,注意参数的设置
//获取年月日方法如下
 int year = d.getYear() + 1900;
 int month = d.getMonth() + 1;
 int date = d.getDate();

然后就发现这小破玩意基本被更厉害的Calendar替代了QAQ
这里再介绍关于Calendar的使用
Calendar是一个抽象类,且加上了protected修饰,所以要用其getInstance方法来构造

Calendar s = Calendar.getInstance();//默认当前日期
s.set(2021, 7 - 1, 1);//调用set来设置,如此设置为2021.7.1
//获取日期要用Calendar自带的常数来进行获取
// 获得年月日
int year = s.get(Calendar.YEAR);
int month = s.get(Calendar.MONTH) + 1;
int date = s.get(Calendar.DATE);

关于正则表达式

首先要注意的是,在java中\表示插入一个正则表达式的反斜线,其后的字符具有特殊的意义
一些常用的匹配为

字符 说明
+ 一次或多次匹配前面的字符或子表达式。
? 零次或一次匹配前面的字符或子表达式。
* 零次或多次匹配前面的字符或子表达式。
{n} n 是非负整数。正好匹配 n 次。
x或符号y 匹配 x 或 y。
[xyz] 字符集。匹配包含的任一字符。
[a-z] 字符范围。匹配指定范围内的任何字符。
\d 数字字符匹配。等效于 [0-9]。

对于模式匹配的基本操作为

String content = "asdjdsfjsdlf13213asakd.,[l[12";
Pattern pattern = Pattern.compile("[a-z]{3}");
Matcher matcher = pattern.matcher(content);
if(matcher.find()){
    
    
	System.out.println("YES");
}

猜你喜欢

转载自blog.csdn.net/eliforsharon/article/details/118399375