A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

A:模式和匹配器的基本使用顺序
  1. /*
  2. * 获取功能
  3. *                Pattern和Matcher类的使用
  4. *               
  5. *                模式和匹配器的基本使用顺序
  6. */
  7. public class RegexDemo {
  8.         public static void main(String[] args) {
  9.                 // 模式和匹配器的典型调用顺序
  10.                 // 把正则表达式编译成模式对象
  11.                 Pattern p = Pattern.compile("a*b");
  12.                 // 通过模式对象得到匹配器对象,这个时候需要的是被匹配的字符串
  13.                 Matcher m = p.matcher("aaaaab");
  14.                 // 调用匹配器对象的功能
  15.                 boolean b = m.matches();
  16.                 System.out.println(b);
  17.                
  18.                 //这个是判断功能,但是如果做判断,这样做就有点麻烦了,我们直接用字符串的方法做
  19.                 String s = "aaaaab";
  20.                 String regex = "a*b";
  21.                 boolean bb = s.matches(regex);
  22.                 System.out.println(bb);
  23.         }
  24. }
复制代码

B:获取功能
  1. import java.util.regex.Matcher;
  2. import java.util.regex.Pattern;

  3. /*
  4. * 获取功能:
  5. * 获取下面这个字符串中由三个字符组成的单词
  6. * da jia ting wo shuo,jin tian yao xia yu,bu shang wan zi xi,gao xing bu?
  7. */
  8. public class RegexDemo2 {
  9.         public static void main(String[] args) {
  10.                 // 定义字符串
  11.                 String s = "da jia ting wo shuo,jin tian yao xia yu,bu shang wan zi xi,gao xing bu?";
  12.                 // 规则
  13.                 String regex = "\\b\\w{3}\\b";

  14.                 // 把规则编译成模式对象
  15.                 Pattern p = Pattern.compile(regex);
  16.                 // 通过模式对象得到匹配器对象
  17.                 Matcher m = p.matcher(s);
  18.                 // 调用匹配器对象的功能
  19.                 // 通过find方法就是查找有没有满足条件的子串
  20.                 // public boolean find()
  21.                 // boolean flag = m.find();
  22.                 // System.out.println(flag);
  23.                 // // 如何得到值呢?
  24.                 // // public String group()
  25.                 // String ss = m.group();
  26.                 // System.out.println(ss);
  27.                 //
  28.                 // // 再来一次
  29.                 // flag = m.find();
  30.                 // System.out.println(flag);
  31.                 // ss = m.group();
  32.                 // System.out.println(ss);

  33.                 while (m.find()) {
  34.                         System.out.println(m.group());
  35.                 }

  36.                 // 注意:一定要先find(),然后才能group()
  37.                 // IllegalStateException: No match found
  38.                 // String ss = m.group();
  39.                 // System.out.println(ss);
  40.         }
  41. }
复制代码



0 个回复

您需要登录后才可以回帖 登录 | 加入黑马