今天開始學習java正則表示式了
1、 概念
正則表示式,也稱為正則表示式(regex),是電腦科學的一個概念。正則表示式通常用於檢索和替換符合模式(規則)的文字。許多語言都支援正則表示式,如Perl、PHP、Java、python、ruby等。在Java中,正則表示式是一個字串,用於描述與一組字串匹配的模式。正則表示式是字串處理的強大工具。正則表示式可用於匹配、替換和拆分字串。當我們執行這些操作時,它可以使我們的程式碼更加簡潔。
2、 文法
注意:與其他語言不同,Java正則表示式需要解析兩個反斜槓才能在其他語言中轉義。
以下是常見的正則表示式術語。
注意:正則表示式從左到右操作,並遵循優先順序,這與算術表示式非常相似。具有相同優先順序的操作從左到右執行,具有不同優先順序的操作從高到低執行。
3、 替換和拆分字串
正則表示式涉及三個類:java.lang.string、java.util.regex.pattern和java.util.regex.macher。
其中,string類中使用正則表示式的方法包括matches、replaceall、replacefirst、split等,這些方法可以用來替換和拆分字串。
Replaceall(stringregex,stringreplacement)方法:使用給定的替換來替換此字串中與給定正則表示式匹配的所有子字串。
Replacefirst(stringregex,stringreplacement)方法:用給定的替換替換該字串,以匹配給定正則表示式的第一個子字串。
Split(stringregex,int-limit)方法:根據給定正則表示式的匹配來拆分字串。
預設情況下,使用貪婪匹配,它匹配儘可能多的字元。例如,對於表示式:a.*B、 它將匹配以a開頭、以B結尾的最長字串。如果使用它搜尋aabab,它將匹配整個字串aabab。如果要匹配最少的字元,只需新增一個?,即表示式a.*?B匹配以a開頭並以B結尾的最短字串。