学习笔记,仅供参考


文章目录

  • 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类相关推荐

  1. 第三次学JAVA再学不好就吃翔(part107)--字符流的拷贝

    学习笔记,仅供参考,有错必纠 文章目录 IO流 字符流的拷贝 拷贝纯文本文件 注意事项 自定义字符数组的拷贝 IO流 字符流的拷贝 拷贝纯文本文件 zzz.txt: 安徽财经大学 JAVA代码: pa ...

  2. 第三次学JAVA再学不好就吃翔(part45)--Object类

    学习笔记,仅供参考 文章目录 API概述 Object类 hashCode()方法 getClass()方法 toString()方法 equals()方法 ==与equals()方法的区别 API概 ...

  3. 第三次学JAVA再学不好就吃翔(part37)--接口概述

    学习笔记,仅供参考 文章目录 面向对象 接口 接口的概述及其特点 接口的成员特点 面向对象 接口 接口的概述及其特点 接口的概述 从狭义的角度讲就是指java中的interface 从广义的角度讲,对 ...

  4. 第三次学JAVA再学不好就吃翔(part31)--super关键字

    学习笔记,仅供参考 文章目录 面向对象 继承 继承中成员变量的关系 this和super的区别 继承中构造方法的关系 继承中构造方法的注意事项 继承中的成员方法关系 面向对象 继承 继承中成员变量的关 ...

  5. 第三次学JAVA再学不好就吃翔(part114)--Properties类

    学习笔记,仅供参考,有错必纠 文章目录 Properties类 Properties类概述 Properties类的特殊功能 Properties的load和store功能 Properties类 P ...

  6. 第三次学JAVA再学不好就吃翔(part96)--异常

    学习笔记,仅供参考,有错必纠 文章目录 异常 异常概述 JVM如何处理异常 异常处理方式(try...catch) Throwable类的几个常见方法 常用方法 举个例子 异常 异常概述 异常概述 异 ...

  7. 第三次学JAVA再学不好就吃翔(part90)--TreeSet

    学习笔记,仅供参考,有错必纠 文章目录 TreeSet TreeSet存储自定义对象 Comparable接口 定义Dog类实现Comparable接口 比较器 Comparator接口的方法 实现C ...

  8. 第三次学JAVA再学不好就吃翔(part73)--SimpleDateFormat类

    学习笔记,仅供参考,有错必纠 DateFormat类 DateFormat类是java.text包下的一个类,使用该类时需要导包. DateFormat 是日期/时间格式化子类的抽象类,它以与语言无关 ...

  9. 第三次学JAVA再学不好就吃翔(part69)--System类

    学习笔记,仅供参考,有错必纠 文章目录 System类 字段 方法 gc方法 exit方法 currentTimeMillis方法 arraycopy方法 举个例子 System类 System类是在 ...

最新文章

  1. 微信小程序一些常见的坑
  2. springmvc二十五:springmvc支持ajax
  3. 笔记-项目管理基础知识-复习要点
  4. 浅谈C#取消令牌CancellationTokenSource
  5. 发一个flash+PHP的简单上传代码
  6. java i o是什么流_Java I/O流的总结
  7. margin-top失效的解决办法
  8. spring扩展点之二:spring中关于bean初始化、销毁等使用汇总,ApplicationContextAware将ApplicationContext注入...
  9. php--实现一个简单的学生管理系统
  10. mysql索引的创建和删除吗_MySQL索引的创建、删除和查看
  11. springboot security 安全
  12. HART/EtherNet IP网关HEI-612
  13. Altium Designer 18中查找元器件的四种方法
  14. 刘帅嵌入式系统-MLA指令
  15. 如何在html中调用Js函数
  16. 【Cache篇】Linux中的Cache
  17. 般若波罗蜜多心经(观音心经)注解
  18. 【5G NR】SSB
  19. 解决You must configure either the server or JDBC driver (via the serverTimezone conf)
  20. JavaFX:集成MarkDown

热门文章

  1. gedit把关键字符替换为回车键
  2. android fm模块学习,AndroidFM模块学习之5关闭FM流程
  3. linux idc账号,快速安全地建立Linux用户账户
  4. 清理c盘垃圾的cmd命令_用命令删除系统垃圾,这波操作深藏功与名
  5. 特殊权限-软连接-硬链接
  6. 【BZOJ】2655: calc 动态规划+拉格朗日插值
  7. 10 大方法,让您的客服中心提供更出色的服务
  8. Thread源码阅读
  9. Kickstart+NFS+DHCP+TFTP+PXElinux实现CentOS的网络自动安装
  10. eclipse(或者myeclipse)常用配置方法