lab3正規表示式應用總結

2021-10-06 06:33:38 字數 1643 閱讀 3786

廢話不多說,直接上題目,需要依據下面的要求從檔案中讀入資訊,構造航班計畫項集合,若有不符合的輸入,直接丟擲異常即可

首先,題目給人感覺是非常複雜的,讀入一共有十三行,一次性判斷恐怕正規表示式會過於複雜,且可讀性差。

所以我的想法是先將資料讀進來,大體格式正確即可,

正規表示式如下:

pattern pattern = pattern.compile(「flight:(.?),(.?)\\}」);

利用捕獲組捕獲資訊,然後再對這些資訊進行更加細緻的判斷:

下為判斷日期和航班名的判斷

下為對出發時間和抵達時間的判斷

下為對飛機各屬性的判斷:

下位對航班名及時間和地點的匹配問題的判斷:

for

(flightentry i:fields)

elseif(

!i.gettimeslot()

.get(0

).getstarttime()

.subsequence(11

,16).

equals

(starttime.

subsequence(11

,16))

)elseif(

!i.gettimeslot()

.get(0

).getendtime()

.subsequence(11

,16).

equals

(endtime.

subsequence(11

,16))

)elseif(

!i.getlocations()

.get(0

).getname()

.equals

(startlocation)

)elseif(

!i.getlocations()

.get(1

).getname()

.equals

(endlocation))}

}

下位對相同飛機名但屬性變化的錯誤的判斷:

for

(flightentry i:fields)

}}

綜上判斷結束,然後再利用讀取到的資訊創造計畫項,最後形成乙個計畫項集合然後返回。

正規表示式 正規表示式 總結

非負整數 d 正整數 0 9 1 9 0 9 非正整數 d 0 負整數 0 9 1 9 0 9 整數 d 非負浮點數 d d 正浮點數 0 9 0 9 1 9 0 9 0 9 1 9 0 9 0 9 0 9 1 9 0 9 非正浮點數 d d 0 0 負浮點數 正浮點數正則式 英文本串 a za z...

正規表示式應用

d 非負整數 正整數 0 0 9 1 9 0 9 正整數 d 0 非正整數 負整數 0 0 9 1 9 0 9 負整數 d 整數 d 非負浮點數 正浮點數 0 0 9 0 9 1 9 0 9 0 9 1 9 0 9 0 9 0 9 1 9 0 9 正浮點數 d 非正浮點數 負浮點數 0 0 9 0 ...

正規表示式(應用)

在此頁面寫正規表示式,可以提供參考,和進行校驗 應用於前端 匹配任意長度的大小寫字母與數字 a za z0 9 匹配任意長度且不為空的大小寫字母與數字 a za z0 9 匹配長度小於20且不為空的大小寫字母與數字 a za z0 9 匹配長度小於20且不為空的大小寫字母與數字與漢字 a za z0...