Pattern类和Matcher类之间的区别

问题描述:

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

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

而只是为了澄清,匹配类做有一个构造函数。它由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