Java基础知识强化78:正则表达式之获取功能(案例)

1. 获取下面这个字符串中由三个字符组成的单词
 da jia ting wo shuo,jin tian yao xia yu,bu shang wan zi xi,gao xing bu?

2. 代码实现:

正则表达式中:""代表着单词的开头 结尾,也就是单词的分界处

 1 package cn.itcast_05;
 2 
 3 import java.util.regex.Matcher;
 4 import java.util.regex.Pattern;
 5 
 6 /*
 7  * 获取功能:
 8  * 获取下面这个字符串中由三个字符组成的单词
 9  * da jia ting wo shuo,jin tian yao xia yu,bu shang wan zi xi,gao xing bu?
10  */
11 public class RegexDemo2 {
12     public static void main(String[] args) {
13         // 定义字符串
14         String s = "da jia ting wo shuo,jin tian yao xia yu,bu shang wan zi xi,gao xing bu?";
15         // 规则
16         String regex = "w{3}";
17 
18         // 把规则编译成模式对象
19         Pattern p = Pattern.compile(regex);
20         // 通过模式对象得到匹配器对象
21         Matcher m = p.matcher(s);
22         // 调用匹配器对象的功能
23         // 通过find方法就是查找有没有满足条件的子串
24         // public boolean find()
25         // boolean flag = m.find();
26         // System.out.println(flag);
27         // // 如何得到值呢?
28         // // public String group()
29         // String ss = m.group();
30         // System.out.println(ss);
31         //
32         // // 再来一次
33         // flag = m.find();
34         // System.out.println(flag);
35         // ss = m.group();
36         // System.out.println(ss);
37 
38         while (m.find()) {
39             System.out.println(m.group());
40         }
41 
42         // 注意:一定要先find(),然后才能group()
43         // IllegalStateException: No match found
44         // String ss = m.group();
45         // System.out.println(ss);
46     }
47 }

运行效果如下:

原文地址:https://www.cnblogs.com/hebao0514/p/4837268.html