第三次学JAVA再学不好就吃翔(part66)--Pattern类和Matcher类
学习笔记,仅供参考
文章目录
- Pattern类
- 典型的调用顺序
- Pattern类的compile方法
- Pattern类的matcher方法
- Matcher类的matches方法
- Matcher类
- find方法
- group方法
- 举个例子
Pattern类
Pattern类是在java.util.regex包下的一个类。这个类被final修饰,也就是说,它是最终类,不能被继承。
典型的调用顺序
Pattern p = Pattern.compile("a*b");Matcher m = p.matcher("aaaaab");boolean b = m.matches();
Pattern类的compile方法
public static Pattern compile(String regex)
将给定的正则表达式编译到模式中,获取到一个正则表达式。
- 参数
- regex - 要编译的表达式
Pattern类的matcher方法
public Matcher matcher(CharSequence input)
创建匹配给定输入与此模式的匹配器。,获取到一个匹配器。
- 参数
- input - 要匹配的字符序列
Matcher类的matches方法
public boolean matches()
尝试将整个区域与模式匹配。
- 返回
- 当且仅当整个区域序列匹配此匹配器的模式时才返回 true。
Matcher类
Matcher类是在java.util.regex包下的一个类。这个类被final修饰,也就是说,它是最终类,不能被继承。
find方法
public boolean find(int start)
尝试查找与该模式匹配的输入序列的下一个子序列。
- 返回
- 当且仅当输入序列的子序列匹配此匹配器的模式时才返回 true。
group方法
public String group(int group)
返回在以前匹配操作期间由给定组捕获的输入子序列,获取正则匹配到的字符串。
参数
- group - 此匹配器模式中捕获组的索引。
返回
- 在以前的匹配期间组所捕获的子序列(可能为空);如果组未能匹配输入的部分,则返回 null。
举个例子
- 例子1
package com.guiyang.restudy3;import java.util.regex.Matcher;
import java.util.regex.Pattern;public class D1PatternMatcher {public static void main(String[] args) {Pattern p = Pattern.compile("a*b");Matcher m1 = p.matcher("aaaaab");boolean b1 = m1.matches();System.out.println(b1);Matcher m2 = p.matcher("caaaaab");boolean b2 = m2.matches();System.out.println(b2);}
}
输出:
true
false
- 例子2
package com.guiyang.restudy3;import java.util.regex.Matcher;
import java.util.regex.Pattern;public class D1PatternMatcher {public static void main(String[] args) {String s1 = "A:15319472640,B:18992734430,C:13048223329";Pattern pattern = Pattern.compile("1[3578]\\d{9}");Matcher matcher = pattern.matcher(s1);while (matcher.find()) {System.out.println(matcher.group());}}}
输出:
15319472640
18992734430
13048223329
注意:如果在group之前不find就会报错。每find一下,指针就会移动到下一个符合正则表达式的子串。
第三次学JAVA再学不好就吃翔(part66)--Pattern类和Matcher类相关推荐
- 第三次学JAVA再学不好就吃翔(part107)--字符流的拷贝
学习笔记,仅供参考,有错必纠 文章目录 IO流 字符流的拷贝 拷贝纯文本文件 注意事项 自定义字符数组的拷贝 IO流 字符流的拷贝 拷贝纯文本文件 zzz.txt: 安徽财经大学 JAVA代码: pa ...
- 第三次学JAVA再学不好就吃翔(part45)--Object类
学习笔记,仅供参考 文章目录 API概述 Object类 hashCode()方法 getClass()方法 toString()方法 equals()方法 ==与equals()方法的区别 API概 ...
- 第三次学JAVA再学不好就吃翔(part37)--接口概述
学习笔记,仅供参考 文章目录 面向对象 接口 接口的概述及其特点 接口的成员特点 面向对象 接口 接口的概述及其特点 接口的概述 从狭义的角度讲就是指java中的interface 从广义的角度讲,对 ...
- 第三次学JAVA再学不好就吃翔(part31)--super关键字
学习笔记,仅供参考 文章目录 面向对象 继承 继承中成员变量的关系 this和super的区别 继承中构造方法的关系 继承中构造方法的注意事项 继承中的成员方法关系 面向对象 继承 继承中成员变量的关 ...
- 第三次学JAVA再学不好就吃翔(part114)--Properties类
学习笔记,仅供参考,有错必纠 文章目录 Properties类 Properties类概述 Properties类的特殊功能 Properties的load和store功能 Properties类 P ...
- 第三次学JAVA再学不好就吃翔(part96)--异常
学习笔记,仅供参考,有错必纠 文章目录 异常 异常概述 JVM如何处理异常 异常处理方式(try...catch) Throwable类的几个常见方法 常用方法 举个例子 异常 异常概述 异常概述 异 ...
- 第三次学JAVA再学不好就吃翔(part90)--TreeSet
学习笔记,仅供参考,有错必纠 文章目录 TreeSet TreeSet存储自定义对象 Comparable接口 定义Dog类实现Comparable接口 比较器 Comparator接口的方法 实现C ...
- 第三次学JAVA再学不好就吃翔(part73)--SimpleDateFormat类
学习笔记,仅供参考,有错必纠 DateFormat类 DateFormat类是java.text包下的一个类,使用该类时需要导包. DateFormat 是日期/时间格式化子类的抽象类,它以与语言无关 ...
- 第三次学JAVA再学不好就吃翔(part69)--System类
学习笔记,仅供参考,有错必纠 文章目录 System类 字段 方法 gc方法 exit方法 currentTimeMillis方法 arraycopy方法 举个例子 System类 System类是在 ...
最新文章
- 微信小程序一些常见的坑
- springmvc二十五:springmvc支持ajax
- 笔记-项目管理基础知识-复习要点
- 浅谈C#取消令牌CancellationTokenSource
- 发一个flash+PHP的简单上传代码
- java i o是什么流_Java I/O流的总结
- margin-top失效的解决办法
- spring扩展点之二:spring中关于bean初始化、销毁等使用汇总,ApplicationContextAware将ApplicationContext注入...
- php--实现一个简单的学生管理系统
- mysql索引的创建和删除吗_MySQL索引的创建、删除和查看
- springboot security 安全
- HART/EtherNet IP网关HEI-612
- Altium Designer 18中查找元器件的四种方法
- 刘帅嵌入式系统-MLA指令
- 如何在html中调用Js函数
- 【Cache篇】Linux中的Cache
- 般若波罗蜜多心经(观音心经)注解
- 【5G NR】SSB
- 解决You must configure either the server or JDBC driver (via the serverTimezone conf)
- JavaFX:集成MarkDown
热门文章
- gedit把关键字符替换为回车键
- android fm模块学习,AndroidFM模块学习之5关闭FM流程
- linux idc账号,快速安全地建立Linux用户账户
- 清理c盘垃圾的cmd命令_用命令删除系统垃圾,这波操作深藏功与名
- 特殊权限-软连接-硬链接
- 【BZOJ】2655: calc 动态规划+拉格朗日插值
- 10 大方法,让您的客服中心提供更出色的服务
- Thread源码阅读
- Kickstart+NFS+DHCP+TFTP+PXElinux实现CentOS的网络自动安装
- eclipse(或者myeclipse)常用配置方法