java14-4 Pattern和Matcher类的使用
获取功能
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类的使用的更多相关文章
- Java基础知识强化77:正则表达式之获取功能(Pattern 和 Matcher类的使用)
1. 获取功能: Pattern 和 Matcher类结合使用 2. 使用案例: package cn.itcast_05; import java.util.regex.Matcher; impor ...
- Java正则表达式Pattern和Matcher类
转载自--小鱼儿是坏蛋(原文链接) 概述 Pattern类的作用在于编译正则表达式后创建一个匹配模式. Matcher类使用Pattern实例提供的模式信息对正则表达式进行匹配 Pattern类 ...
- JAVA正则表达式 Pattern和Matcher类
java.util.regex是一个用正则表达式所订制的模式来对字符串进行匹配工作的类库包. 1.简介: java.util.regex是一个用正则表达式所订制的模式来对字符串进行匹配工作的类库包. ...
- 正则、字符类Pattern、Matcher类
字符类 * [abc] a.b 或 c(简单类) * [^abc] 任何字符,除了 a.b 或 c(否定) * [a-zA-Z] a到 z 或 A到 Z,两头的字母包括在内(范围) * [0-9 ...
- 初学Java之Pattern与Matcher类
import java.util.regex.*; public class Gxjun{ public static void main(String args[]) { Pattern p; // ...
- 正则表达式中Pattern类、Matcher类和matches()方法简析
1.简介: java.util.regex是一个用正则表达式所订制的模式来对字符串进行匹配工作的类库包. 它包括两个类:Pattern和Matcher . Pattern: 一个Pattern是一 ...
- 14-01 Java matches类,Pattern类,matcher类
Pattern类 正则表达式常见规则 A:字符 x 字符 x.举例:'a'表示字符a \\ 反斜线字符. \n 新行(换行)符 ('\u000A') \r 回车符 ('\u000D') B:字符类 [ ...
- java 数据类型String 【正则表达式】匹配工具 Pattern和Matcher
Pattern和Matcher的介绍: Pattern对象是正则表达式编译后在内存中的表示形式,因此正则表达式宇符串必须先被编译为Pattern对象,然后再用该Pattern对象创建对应的Matche ...
- JAVA正则表达式:Pattern类与Matcher类详解(转)
java.util.regex是一个用正则表达式所订制的模式来对字符串进行匹配工作的类库包.它包括两个类:Pattern和Matcher Pattern 一个Pattern是一个正则表达式经编译后的表 ...
随机推荐
- DirectShow程序运行过程简析
这段时间一直在学习陆其明老师的<DirectShow开发指南>一书,书中对DirectShow的很多细节讲解清晰,但是却容易让人缺少对全局的把握.在学习过程中,整理了关于DirectSho ...
- 胖AP(1602i)与苹果设备之间的问题总结
问题现象: 苹果设备(5GHz)连接不稳定,表现为时断时续,或者加入无线的时候一直加入不进去. 有些2.4GHz设备会在几个AP之间相互跳. 分析: 1. 先说苹果设备,它既支持2.4G 也支持5G, ...
- android ArrayAdapter BaseAdapter SimpleAdapter使用讲解
不是我针对谁,我只想针对新手玩家. 不清楚Adapter作用的可以看一下http://www.cnblogs.com/zhichaobouke/p/5798672.html (括号里的内容都是我主观添 ...
- javascript --- 设计模式之单体模式(二)
在JavaScript里,实现单例的方式有很多种,其中最简单的一个方式是使用对象字面量的方法,其字面量里可以包含大量的属性和方法: var her = { property1: 'someing', ...
- Quartz2D学习笔记
1.drawRect方法 //1.证明drawRect方法是在viewDidLoad后自动调用的,方便处理View的相关属性 // YQView * view = [[YQView alloc] in ...
- Android线程池(一)
本篇文章主要介绍Android自带的线程池的使用. 首先要引入线程池的概念 线程池:是一种多线程处理形式,处理过程中将任务添加到队列,然后在创建线程后自动启动这些任务. 线程池线程都是后台线程.每个线 ...
- iOS开发笔记2:单例模式(singleton)
每一个app有且仅有一个UIApplication,类似UIApplication“ [UIApplication sharedApplication]”这种一个类有且仅有唯一实例的设计即单例模式. ...
- Xcode6.4注册URL Scheme步骤详解
URL Scheme的作用 我们都知道苹果手机中的APP都有一个沙盒,APP就是一个信息孤岛,相互是不可以进行通信的.但是iOS的APP可以注册自己的URL Scheme,URL Scheme是为方便 ...
- iOS开发网络篇—搭建本地服务器(待整理)
一.简单说明 说明:提前下载好相关软件,且安装目录最好安装在全英文路径下.如果路径有中文名,那么可能会出现一些莫名其妙的问题. 提示:提前准备好的软件 apache-tomcat-6.0.41.t ...
- Xcode模板修改
本小节知识点: 修改项目模板 修改类的头部信息 1.修改项目模板 项目模板就是创建工程的时候选择的某一个条目, Xcode会根据选择的条目生成固定格式的项目 例如想创建一个命令行项目就选择Comman ...