#### 1. 实现方法

n 创建一个项目-ex5-1

n 创建一个包 javabasic26

n 创建 public class MatcherDemo,并添加 main()方法

#### 2. 正则表达式研究

n 创建一个模式，如 private static final String REGEX = "\\bdog\\b"，这里我们定义了一个私有的常量字符串作正则表达式，\b 表示单词的边界。

n 创建一个欲匹配的字符串，如 private static final String INPUT = "dog dog dog doggie dogg"

n 下面我们再 main()方法中看看有多少个匹配：

l 首先从表示正则表达式的字符串构造一个 Pattern 对象，即 Pattern p = Pattern.compile(REGEX)。

l 然后从 Pattern 对象 p 获得一个 Matcher 对象，即 Matcher m = p.matcher(INPUT);

l 定义一个整型变量 int count = 0，记录匹配的次数。

l 以 m.find()为 while 循环的条件找出每一个匹配：

l count++，匹配次数加一

l 输出匹配的次数，即 System.out.println("匹配数： "+count)

l 输出匹配的起始位置，即 System.out.println("start()位置: "+m.start())

l 输出匹配的结束位置，即 System.out.println("end()位置: "+m.end())

import java.util.regex.Pattern;

import java.util.regex.Matcher;

public class MatcherDemo {

private static final String REGEX = "\\bdog\\b";

private static final String INPUT = "dog dog dog doggie dogg";

public static void main(String[] args) {

Pattern p = Pattern.compile(REGEX);

Matcher m = p.matcher(INPUT); // 取得一个匹配对象

int count = 0;

while(m.find()) {

count++;

System.out.println("匹配数： "+count);

System.out.println("start()位置: "+m.start());

System.out.println("end()位置: "+m.end());

}

}

}

####