正規表示式定義了字串的模式。
正規表示式可以用來搜尋、編輯或處理文字。
正規表示式並不僅限於某種語言,但是在每種語言中都有細微的差別。
在Java,一個字串其實就是一個簡單的正規表示式,例如 Hello World 正規表示式符合 "Hello World" 字串。
ava.util.regex 套件主要包括以下三個類別:
1.Pattern類別:pattern物件是一個正規表示式的編譯表示。 Pattern 類別沒有公共構造方法。
要建立一個 Pattern 對象,你必須先呼叫其公共靜態編譯方法,它會傳回一個 Pattern 物件。此方法接受一個正規表示式作為它的第一個參數。
2.Matcher類別:Matcher 物件是對輸入字串進行解釋和匹配操作的引擎。與Pattern 類別一樣,Matcher 也沒有公共構造方法。
你需要呼叫 Pattern 物件的 matcher 方法來取得一個 Matcher 物件。
3.PatternSyntaxException:PatternSyntaxException 是一個非強制異常類,它表示一個正規表示式模式中的語法錯誤。
捕獲組是把多個字元當一個單獨單元進行處理的方法,它透過對括號內的字元分組來創建,我們來看以下程式碼。
String line = "This order was placed for QT3000! OK?"; //輸入
# String pattern = "(\\D*)(\\d )(.*)"; //我們的三個擷取群組
# 由於我們有三個(),最後會形成三個組,根據上面的正規表示式可得知結果為:
# This order was placed for QT
3000
! OK?
要注意的是假如你使用的是Matcher對象,那麼group(0)將會是原string(整個string)。
在實際的開發中,為了方便我們很少直接使用Pattern類別或Matcher類,而是使用String類別下的方法
驗證:boolean matches(String regex)
拆分: String[] split(String regex)
替換: String replaceAll(String regex, String replacement)
在其他語言中,\\ 表示:我想要在正規表示式中插入一個普通的(字面上的)反斜杠,請不要給它任何特殊的意義。
在 Java 中,\\ 表示:我要插入一個正規表示式的反斜線,所以其後的字元有特殊的意義。
所以,在其他的語言中(如Perl),一個反斜杠 \ 就足以具有轉義的作用,而在Java 中正則表達式中則需要有兩個反斜杠才能被解析為其他語言中的轉義作用。也可以簡單的理解在Java 的正規表示式中,兩個 \\ 代表其他語言中的一個 \,這也就是為什麼表示一位數字的正規表示式是 \\d,而表示一個普通的反斜杠是 \\\\。
Java是一門面對物件的語言,所以說沒有函數只有方法,但是大體上函數和方法應用差不多。
修飾符 傳回值型別 方法名稱(參數型別 參數名)
# {
...
方法體
...
return 回傳值;
}
我們來看一個實際的例子,這個方法回傳兩個參數最大值:
public static int max(int num1, int num2) {
int result;
if (num1 > num2)
# result = num1;
# else
result = num2;
# return result;
}
跟函數基本上差不多,不過注意的是JAVA都是一個個對象,所以說要注意哪個方法在哪個類別裡。
Java跟C 一樣支援函數重載。
Java支援傳遞同類型的可變參數給一個方法:
printMax(34, 3, 3, 2, 56.5);
# printMax(new double[]{1, 2, 3});
以上是Java正規表示式和方法怎麼定義使用的詳細內容。更多資訊請關注PHP中文網其他相關文章!