2014-11-04 198 views
-4

java中的Pattern和Matcher類是什麼,它們有什麼不同?Pattern類和Matcher類之間的區別

我的第二個問題是,你能清楚地解釋下面的驗證代碼嗎?

Pattern p = Pattern.compile("^[a-zA-Z][a-zA-Z\\s]+$"); 
Pattern pattern = Pattern.compile("\\d{10}"); 
+0

您的問題與您的代碼不匹配 – TheLostMind 2014-11-04 05:48:39

+0

現在我問了兩個問題,理解??謝謝TheLostMind .. – Venkatesh 2014-11-04 05:53:26

回答

2

Matcher - >從一個模式通過調用 模式的匹配方法創建的匹配器。匹配器將匹配給定的模式(用於創建它)與要匹配的字符串。

Pattern - >正則表達式的編譯表示。 A 指定爲字符串的正則表達式必須首先編譯爲 此類的一個實例。

Pattern p = Pattern.compile("^[a-zA-Z][a-zA-Z\\s]+$"); 
// creates a regex pattern that can match a character followed by one or more characters or space 
example : `ab` or `asa[space]` but not `a2` or `a` or `2` 

Pattern pattern = Pattern.compile("\\d{10}"); 
// creates a regex pattern which can match exactly 10 digits 
example : 1234567890 
+0

謝謝。@ TheLostMind – Venkatesh 2014-11-04 07:05:50

1

而只是爲了澄清,匹配類做有一個構造函數。它由Pattern類構造而成。所以你將首先需要一個Pattern對象。

但是,一旦匹配對象被創建,它將是你的「工作人員」。您通常會使用方法關閉Matcher對象像.find()。集團()

退房的匹配器類的Java文檔。 http://docs.oracle.com/javase/7/docs/api/java/util/regex/Matcher.html

+0

謝謝。@ ahoskins – Venkatesh 2014-11-04 07:05:34