获取功能
    Pattern和Matcher类的使用
      模式和匹配器的基本使用顺序

 import java.util.regex.Matcher;
import java.util.regex.Pattern; public class RegexDemo {
public static void main(String[] args) {
// 模式和匹配器的典型调用顺序
// 把正则表达式编译成模式对象
Pattern p = Pattern.compile("a*b");
// 通过模式对象得到匹配器对象,这个时候需要的是被匹配的字符串,字符串跟上面的正则表达式一致
Matcher m = p.matcher("aaaaab");
// 调用匹配器对象的功能
boolean b = m.matches();
System.out.println(b); //这个是判断功能,但是如果做判断,这样做就有点麻烦了,我们直接用字符串的方法做
String s = "aaaaab";
String regex = "a*b";
boolean bb = s.matches(regex);
System.out.println(bb); //判断功能的再次简化
String str = "abbbbbb";
boolean cc = str.matches("ab*");
System.out.println(cc);
}
}

需求:键盘输入内容,但只显示3位的字符
  分析:
    A:创建键盘输入
    B:定义规则,把规则编译成模式对象,再通过模式对象得到匹配对象
        a:把正则表达式编译成模式对象 Pattern p = Pattern.compile("a*b");
        b:通过模式对象得到匹配器对象,这个时候需要的是被匹配的字符串,字符串跟上面的正则表达式一致 Matcher m = p.matcher("aaaaab");
    C:调用匹配器的find方法查找有没有满足条件的子串,public boolean find()
    D:返回这个对象, public boolean group()返回匹配的对象
    E:输出对象
  方法:
    a:返回值:void
    b:参数列表:String

 import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class PattenTest { public static void main(String[] args) {
//创建键盘录入
Scanner sc = new Scanner(System.in);
System.out.println("输入内容:");
String str = sc.nextLine();
//调用方法
group(str); } //定义方法
public static void group(String str){
//定义规则
//把正则表达式编译成模式对象 Pattern p = Pattern.compile("a*b");
Pattern p = Pattern.compile("\\b\\w{3}\\b"); //通过模式对象得到匹配对象 Matcher m = p.matcher("aaaaab");
Matcher m = p.matcher(str); /* 这个只能判断第一个元素,注释掉
//调用匹配器的find方法查找有没有满足条件的子串,public boolean find()
boolean b = m.find(); //返回查找到的对象 public boolean group()返回匹配的对象
String result = m.group();
System.out.println(result);
*/ while(m.find()){
System.out.println(m.group());
} // 注意:一定要先find(),然后才能group();否则会出现下面这个错误
// IllegalStateException: No match found
// String ss = m.group();
// System.out.println(ss);
}
}

java14-4 Pattern和Matcher类的使用的更多相关文章

  1. Java基础知识强化77:正则表达式之获取功能(Pattern 和 Matcher类的使用)

    1. 获取功能: Pattern 和 Matcher类结合使用 2. 使用案例: package cn.itcast_05; import java.util.regex.Matcher; impor ...

  2. Java正则表达式Pattern和Matcher类

    转载自--小鱼儿是坏蛋(原文链接) 概述 Pattern类的作用在于编译正则表达式后创建一个匹配模式.    Matcher类使用Pattern实例提供的模式信息对正则表达式进行匹配 Pattern类 ...

  3. JAVA正则表达式 Pattern和Matcher类

    java.util.regex是一个用正则表达式所订制的模式来对字符串进行匹配工作的类库包. 1.简介:  java.util.regex是一个用正则表达式所订制的模式来对字符串进行匹配工作的类库包. ...

  4. 正则、字符类Pattern、Matcher类

    字符类 * [abc] a.b 或 c(简单类)  * [^abc] 任何字符,除了 a.b 或 c(否定)  * [a-zA-Z] a到 z 或 A到 Z,两头的字母包括在内(范围)  * [0-9 ...

  5. 初学Java之Pattern与Matcher类

    import java.util.regex.*; public class Gxjun{ public static void main(String args[]) { Pattern p; // ...

  6. 正则表达式中Pattern类、Matcher类和matches()方法简析

    1.简介:  java.util.regex是一个用正则表达式所订制的模式来对字符串进行匹配工作的类库包.  它包括两个类:Pattern和Matcher . Pattern: 一个Pattern是一 ...

  7. 14-01 Java matches类,Pattern类,matcher类

    Pattern类 正则表达式常见规则 A:字符 x 字符 x.举例:'a'表示字符a \\ 反斜线字符. \n 新行(换行)符 ('\u000A') \r 回车符 ('\u000D') B:字符类 [ ...

  8. java 数据类型String 【正则表达式】匹配工具 Pattern和Matcher

    Pattern和Matcher的介绍: Pattern对象是正则表达式编译后在内存中的表示形式,因此正则表达式宇符串必须先被编译为Pattern对象,然后再用该Pattern对象创建对应的Matche ...

  9. JAVA正则表达式:Pattern类与Matcher类详解(转)

    java.util.regex是一个用正则表达式所订制的模式来对字符串进行匹配工作的类库包.它包括两个类:Pattern和Matcher Pattern 一个Pattern是一个正则表达式经编译后的表 ...

随机推荐

  1. handler机制的原理(转)

      Handler概述   andriod提供了Handler 和 Looper 来满足线程间的通信.Handler先进先出原则.Looper类用来管理特定线程内对象之间的消息交换(MessageEx ...

  2. mustache模板渲染的基本原理

    mustache.js是一个模板引擎,为开发节省了大量的“人力”,对于初学者,我是从这篇 和这篇 博客接触的,算是对mustache有了初步认识,不得不承认自己还是菜鸟阶段还有太多东西要学,慢慢熟悉. ...

  3. 关于谷歌浏览器不能播放背景音乐的问题(与IE的不同之处)

    第一篇博文 忍受寂寞,抵制诱惑,持之以恒. 开发时,以下代码在IE浏览器上能顺利播放背景音乐,可在谷歌浏览器上却没有动静. <html> <body> <bgsound ...

  4. Android Studio用release模式进行调试

    有时候调试SDK必须要用release版本,但是每次打包混淆太麻烦,希望能在IDE中直接跑出release版本的应用,简单来说就是在debug模式下产生release版本的app,这时候该怎么做呢?当 ...

  5. mac java 环境设置

    MAC下JDK1.6下载路径 http://support.apple.com/kb/DL1572 Mac OS的java版本问题和Eclipse中无法找到jdk源代码的问题解决办法 下载包含源代码j ...

  6. hadoop2.6完全分布式安装HBase1.1

    本文出自:http://wuyudong.com/archives/119 对于全分布式的HBase安装,需要通过hbase-site.xml文档来配置本机的HBase特性,由于各个HBase之间通过 ...

  7. C语言指针传递详解

    传递指针可以让多个函数访问指针所引用的对象,而不用把对象声明为全局可访问,要在某个函数中修改数据,需要用指针传递数据,当数据是需要修改的指针的时候,就要传递指针的指针,传递参数(包括指针)的时候,传递 ...

  8. 【读书笔记】iOS-GCD-系统提供的dispatch方法

    系统提供的dispatch方法如下: //系统提供的dispatch方法 //后台执行: dispatch_async(dispatch_get_global_queue(0, 0), ^{ // s ...

  9. MyBatis入门(六)---mybatis与spring的整合

    一.整合需要 1.1.方法 上一章中的数据 需要spring通过单例方式管理SqlSessionFactory spring和mybatis整合生成代理对象,使用SqlSessionFactory创建 ...

  10. android 定制自己的日志工具

    最理想的情况是能够控制日志的打印,当程序处于开发阶段就让日志打印出来,当程序上线之后就把日志屏蔽掉. 例如打印一行WARN级别的日志就可以写成这样: LogUtil.w("TAG" ...