正規表現の定義とDateクラスCalendarクラスの使用
11409 ワード
01正規表現の概念と役割
02正規表現構文規則
03正規表現の練習と関連するStringクラスの方法
04正規表現マッチング練習
05正規表現カット練習
06正規表現置換練習
07正規表現メールアドレス検証
08ミリ秒値の概念
09 Dateクラスの構築方法
==================================================
10 Dateクラスのgetとsetメソッド
11日フォーマットSimpleDateFormat
12文字列から日付オブジェクトへの変換
13 Calendarクラス_1
14 Calendarクラス_2
15 Calendarクラス_3
16 Calendarクラス_4
17日練習_何日生きてきた
18日練習_閏年計算
19まとめ今日の知識点をまとめます.
* A:
* a:
* , , Pattern 。
。
* : 。
* b:
* , , ,
02正規表現構文規則
* A:
* a:
* x x
* \\ '\'
* \t
*
* \r
* b:
* [abc] a、b c( )
* [^abc] , a、b c( )
* [a-zA-Z] a z A Z, ( )
* [0-9] 0 9
* [a-zA-Z_0-9] ( )
* c:
* . 。
* \d :[0-9]
* \w :[a-zA-Z_0-9] "com.itheima.tests"/finish
* d:
* ^
* $
* \b
* e:
* X? X,
* X* X,
* X+ X,
* X{n} X, n
* X{n,} X, n
* X{n,m} X, n , m
03正規表現の練習と関連するStringクラスの方法
* A: String
* a: boolean matches(String )
* "abc".matches("[a]")
* true
* b: String[] split(String )
* "abc".split("a")
*
* c: String replaceAll( String ,String )
* "abc0123".repalceAll("[\\d]","#")
* ,
04正規表現マッチング練習
* A:
* a:
public class RegexDemo {
public static void main(String[] args) {
checkTel();
}
/*
*
* 1 34578 0-9 11
*/
public static void checkTel(){
String telNumber = "1335128005";
//String matches
boolean b = telNumber.matches("1[34857][\\d]{9}");
System.out.println(b);
}
/*
* QQ
* 0 , , 5,10
* 123456
* \\d \\D
*/
public static void checkQQ(){
String QQ = "123456";
// QQ ,String matches
boolean b = QQ.matches("[1-9][\\d]{4,9}");
System.out.println(b);
}
}
05正規表現カット練習
* A:
* a:
public class RegexDemo1 {
public static void main(String[] args) {
split_1();
split_2();
split_3();
}
/*
* String split
* 192.168.105.27
*/
public static void split_3(){
String ip = "192.168.105.27";
String[] strArr = ip.split("\\.");
System.out.println(" "+strArr.length);
for(int i = 0 ; i < strArr.length ; i++){
System.out.println(strArr[i]);
}
}
/*
* String split
* 18 22 40 65
*/
public static void split_2(){
String str = "18 22 40 65";
String[] strArr = str.split(" +");
System.out.println(" "+strArr.length);
for(int i = 0 ; i < strArr.length ; i++){
System.out.println(strArr[i]);
}
}
/*
* String split
* 12-25-36-98 -
*/
public static void split_1(){
String str = "12-25-36-98";
// - ,String split
String[] strArr = str.split("-");
System.out.println(" "+strArr.length);
for(int i = 0 ; i < strArr.length ; i++){
System.out.println(strArr[i]);
}
}
}
06正規表現置換練習
* A:
* a:
public class RegexDemo1 {
public static void main(String[] args) {
replaceAll_1();
}
/*
* "Hello12345World6789012"
* String replaceAll( , )
*/
public static void replaceAll_1(){
String str = "Hello12345World6789012";
str = str.replaceAll("[\\d]+", "#");
System.out.println(str);
}
}
07正規表現メールアドレス検証
* A:
* a:
public class RegexDemo2 {
public static void main(String[] args) {
checkMail();
}
/*
*
* :
* [email protected]
* [email protected]
* [email protected]
* [email protected]
*
* @: _ 1
* @: 1
* .:
*
*/
public static void checkMail(){
String email ="[email protected]";
boolean b = email.matches("[a-zA-Z0-9_]+@[0-9a-z]+(\\.[a-z]+)+");
System.out.println(b);
}
}
08ミリ秒値の概念
* A:
* a:
* java.util.Date
* b:
* 1000 =1
* c: 0
* System.currentTimeMillis() long
* 3742769374405
* ; 1970 1 1 , 0:00:00 0
* 2088 8 8
* ,
09 Dateクラスの構築方法
* A: Date
* a:
* public Date()
* b:
* public Date(long times)
==================================================
10 Dateクラスのgetとsetメソッド
* A:Date get set
* public long getTime()
* ,
* public void setTime(long times);
* ,
11日フォーマットSimpleDateFormat
* A: SimpleDateFormat
* a: ( )
* java.text.DateFormat , ,
* java.text.SimpleDateFormat ,
* b:
* 1: SimpleDateFormat
* , ( )
* 2: SimpleDateFormat format
* public String format(Date date) ,
* :
* yyyy
* MM
* dd
* HH 0-23
* mm
* ss
* yyyy MM dd HH mm ss ,: -
12文字列から日付オブジェクトへの変換
* A:
* a:
* 1: SimpleDateFormat
* ,
* 2: , parse String, Date
* : yyyy-MM-dd,
13 Calendarクラス_1
* A: Calendar _1
* a: ( )
* java.util.Calendar
* b:
* Calendar getInstance()
* new ,
14 Calendarクラス_2
* A: Calendar _2
* a:
* getTime() , Date
* get( )
* b:
Calendar c = Calendar.getInstance();
//
int year = c.get(Calendar.YEAR);
//
int month = c.get(Calendar.MONTH) + 1;
//
int day = c.get(Calendar.DAY_OF_MONTH);
System.out.println(year + " " + month + " " + day + " ");
15 Calendarクラス_3
* A: Calendar _3
* a:
* set(int field,int value)
* b:
/*
* Calendar set set(int field,int value) field value
*
*
* set(int year,int month,int day) 3 , ,
*/
public static void function_1() {
Calendar c = Calendar.getInstance();
// , , 10
// c.set(Calendar.MONTH, 9);
// , ,
c.set(2099, 4, 1);
//
int year = c.get(Calendar.YEAR);
//
int month = c.get(Calendar.MONTH) + 1;
//
int day = c.get(Calendar.DAY_OF_MONTH);
System.out.println(year + " " + month + " " + day + " ");
}
16 Calendarクラス_4
* A: Calendar _4
* a:
* add(int field, int value)
* int get(int field)
* b:
/*
* Calendar add ,
* ,
* add(int field, int value)
*/
public static void function_2() {
Calendar c = Calendar.getInstance();
// , 280
c.add(Calendar.DAY_OF_MONTH, -280);
//
int year = c.get(Calendar.YEAR);
//
int month = c.get(Calendar.MONTH) + 1;
//
int day = c.get(Calendar.DAY_OF_MONTH);
System.out.println(year + " " + month + " " + day + " ");
}
17日練習_何日生きてきた
* A: _
* a:
/*
*
*
* ,
*/
public static void function() throws Exception {
System.out.println(" YYYY-MM-dd");
// ,
String birthdayString = new Scanner(System.in).next();
// , Date
// SimpleDateFormat ,
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
// parse,
Date birthdayDate = sdf.parse(birthdayString);
//
Date todayDate = new Date();
// ,Date getTime
long birthdaySecond = birthdayDate.getTime();
long todaySecond = todayDate.getTime();
long secone = todaySecond-birthdaySecond;
if(secone < 0){
System.out.println(" ");
}
else{
System.out.println(secone/1000/60/60/24);
}
}
18日練習_閏年計算
* A: _
* a:
/*
*
* 2000 3000
* : 3 1 ,add 1 , ,29
*/
public static void function_1(){
Calendar c = Calendar.getInstance();
// , 3 1
c.set(2088, 2, 1);
// add , 1
c.add(Calendar.DAY_OF_MONTH, -1);
//get
int day = c.get(Calendar.DAY_OF_MONTH);
System.out.println(day);
}
19まとめ