JAVA基础之Pattern\Matcher 组合

写在前面:很多基础没用都忘的差不多了,记录一下,慢慢捡起来!多归纳总结...

Pattern:

public final class Pattern
extends Object
implements Serializable

正则表达式的编译表示形式。

指定为字符串的正则表达式必须首先被编译为此类的实例。然后,可将得到的模式用于创建 Matcher 对象,依照正则表达式,该对象可以与任意字符序列匹配。执行匹配所涉及的所有状态都驻留在匹配器中,所以多个匹配器可以共享同一模式。

因此,典型的调用顺序是

 Pattern p = Pattern.compile("a*b");
 Matcher m = p.matcher("aaaaab");
 boolean b = m.matches();

在仅使用一次正则表达式时,可以方便地通过此类定义 matches 方法。此方法编译表达式并在单个调用中将输入序列与其匹配。语句

 boolean b = Pattern.matches("a*b", "aaaaab");

等效于上面的三个语句,尽管对于重复的匹配而言它效率不高,因为它不允许重用已编译的模式。

Matcher:

public final class Matcher
extends Object
implements MatchResult

通过解释 Patterncharacter sequence 执行匹配操作的引擎。

通过调用模式的 matcher 方法从模式创建匹配器。创建匹配器后,可以使用它执行三种不同的匹配操作:

  • matches 方法尝试将整个输入序列与该模式匹配。
  • lookingAt 尝试将输入序列从头开始与该模式匹配。
  • find 方法扫描输入序列以查找与该模式匹配的下一个子序列。

每个方法都返回一个表示成功或失败的布尔值。通过查询匹配器的状态可以获取关于成功匹配的更多信息。

典型的使用是:

Pattern p=Pattern.compile("\\d+");
Matcher m=p.matcher("我的QQ是:456456 我的电话是:0532214 我的邮箱是:[email protected]");
while(m.find()) {
<span style="white-space:pre">	</span>System.out.println(m.group());
} 

欢迎大家一起讨论学习!

有用的自己收!

记录与分享,让你我共成长!欢迎查看我的其他博客;我的博客地址:http://blog.csdn.net/caicongyang

时间: 2024-07-31 14:09:30

JAVA基础之Pattern\Matcher 组合的相关文章

java基础学习——11、组合

我们已经尝试去定义类.定义类,就是新建了一种类型(type).有了类,我们接着构造相应类型的对象.更进一步,每个类型还应该有一个清晰的接口(interface),供用户使用. 我们可以在一个新类的定义中使用其他对象.这就是组合(composition).组合是在Java中实现程序复用(reusibility)的基本手段之一. 我们下面定义一个Battery类,并用power来表示其电量.一个Battery的可以充电(chargeBattery)和使用(useBattery).我们在随后的Torc

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

1. 获取功能: Pattern 和 Matcher类结合使用 2. 使用案例: 1 package cn.itcast_05; 2 3 import java.util.regex.Matcher; 4 import java.util.regex.Pattern; 5 6 /* 7 * 获取功能 8 * Pattern和Matcher类的使用 9 * 10 * 模式和匹配器的基本使用顺序 11 */ 12 public class RegexDemo { 13 public static v

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

java.util.regex是一个用正则表达式所订制的模式来对字符串进行匹配工作的类库包.它包括两个类:Pattern和Matcher Pattern 一个Pattern是一个正则表达式经编译后的表现模式. Matcher 一个Matcher对象是一个状态机器,它依据Pattern对象做为匹配模式对字符串展开匹配检查. 首先一个Pattern实例订制了一个所用语法与PERL的类似的正则表达式经编译后的模式,然后一个Matcher实例在这个给定的Pattern实例的模式控制下进行字符串的匹配工作

JAVA正则表达式:Pattern类与Matcher类详解

java.util.regex是一个用正则表达式所订制的模式来对字符串进行匹配工作的类库包.它包括两个类:Pattern和Matcher Pattern 一个Pattern是一个正则表达式经编译后的表现模式. Matcher 一个Matcher对象是一个状态机器,它依据Pattern对象做为匹配模式对字符串展开匹配检查. 首先一个Pattern实例订制了一个所用语法与PERL的类似的正则表达式经编译后的模式,然后一个Matcher实例在这个给定的Pattern实例的模式控制下进行字符串的匹配工作

Java基础教程 - 组合

1. 什么是组合? 如果一个类的对象和另一个类满足"has-a"关系的话,我们就可以在一个类中,把另一个类的对象作为其对象成员. 什么是"has-a"关系,举个例子:现在有一个类LapTop.class,还有一个是Moniter.class.好显然,Laptop "has-a" Moniter,也就是说,他们是满足"has-a"关系的.这时候,我们就可以把Moniter作为Laptop的一个数据成员. class Laptop

java中使用Pattern类中和Matcher类进行查找和替换,你会吗?

前言 无论是哪一门语言,我们总会用到正则表达式来进行字符串的查找和替换.Java中也不为过,我曾经写过一个网页---正则表达式在线测试.那时候,我还没有开始学习Java,不知道Java支持正则表达式,所以我的第一个方案是想办法将数据传输到后台,然后利用Shell脚本正则表达式得到匹配结果.如果后来真的那么做了,那就二了.后来我研究了以下别的类似的网站,发现甚至连js文件都不用写,直接将函数写在html文件中就能够完成这一个任务.一天的时间,我把这个网站给写了出来.所以,即使不是脚本型语言,了解以

Java基础06 组合(转载)

在一个新类的定义中使用其他对象.这就是组合(composition).组合是在Java中实现程序复用(reusibility)的基本手段之一. 组合与"has-a" 一个对象是另一个对象的数据成员.比如我们看之前提到的充电电筒的例子: 一个充电电筒中的电池.LED灯.按钮…… 都可以是一个对象.我们可以定义一个Battery类来定义和产生电池对象.而在充电电筒的类定义中,可以用一个电池对象作为其数据成员,来代表电池部分的状态. 我们下面定义一个Battery类,并用power来表示其电

【java】java.util.regex.Pattern和java.util.regex.Matcher简单示例

1 package 正则; 2 3 import java.util.regex.Matcher; 4 import java.util.regex.Pattern; 5 6 public class Test_regex { 7 public static void main(String[] args) { 8 String str="a1b22c333d4444e_55_555f666666g7777777"; 9 String regex="\\w*"; 1

Java 正则表达式 Pattern&amp;Matcher

通常会有这种需求: 在文档中搜索有规律的字符串,然后进行统计或者替换.Java.util.regex包下的Pattern和Matcher这两个类提供了通过正则表达式来匹配查询,甚至替换的功能.那么我们接下来就举个栗子吧 : 栗子1:查找文件中以img_数字.png格式的字符串,并在前面添加路径: /test/img/ package test; import java.io.File; import java.util.regex.Matcher; import java.util.regex.